Angepinnt Nützliche PHP-Codeschnipsel

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Es gibt Neuigkeiten! Ab sofort könnt ihr dem Donators Club auf Lebenszeit beitreten.
Weitere Infos im Thema Donator's Club ab heute wieder verfügbar!

  • Nützliche PHP-Codeschnipsel

    Hallo Community!

    Hier könnt ihr nützliche Codeschnipsel für PHP posten, die einem den Umgang erleichtern.

    Um das Thema zu eröffnen, habe ich 3 Pawn-Funktionen auf PHP umgeschrieben, da man sie dort durchaus gebrauchen kann.


    ini_GetKey & ini_GetValue

    PHP-Quellcode

    1. function ini_GetKey($line)
    2. {
    3. $output = "";
    4. for($x = 0; $x < strlen($line); $x++)
    5. {
    6. if($line[$x] == '=')
    7. {
    8. break;
    9. }
    10. $output = "$output".$line[$x];
    11. }
    12. return $output;
    13. }
    14. function ini_GetValue($line)
    15. {
    16. $output = "";
    17. $var = 0;
    18. for($x = 0; $x < strlen($line); $x++)
    19. {
    20. if($line[$x] == '\n')
    21. {
    22. break;
    23. }
    24. if($var == 1)
    25. {
    26. $output = "$output".$line[$x];
    27. }
    28. else if($line[$x] == '=')
    29. {
    30. $var = 1;
    31. }
    32. }
    33. return $output;
    34. }
    Alles anzeigen

    Funktionen zum Auslesen von Dateien mit dem Format key=value


    strmid

    PHP-Quellcode

    1. function strmid($source,$start,$end)
    2. {
    3. $dest = "A";
    4. $var = 0;
    5. for($x = $start; $x < $end; $x++)
    6. {
    7. $dest[$var] = $source[$x];
    8. $var++;
    9. }
    10. return $dest;
    11. }
    Alles anzeigen

    Dabei ist zu beachten, dass der Syntax nicht wiefolgt ist:

    PAWN-Quellcode

    1. strmid(dest[],source[],start,end);

    Sondern:

    PHP-Quellcode

    1. $dest = ($source,$start,$end);



    Viel Spaß beim Posten!
    ;)

    @Admins: Hoffe das ist hier richtig am Platz!!

    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Letztere:
    de3.php.net/manual/de/function.substr.php
    Für die oberen gibt's auch schon PHP Functionen.
    DMA @ Twitter: hier
    C & JAVA Videotutorials auf DevCornerNow

    Programmieraufträge & kalkulationen per PN.
    SA:MP Egal ob Fehlerreparatur oder Scriptteile, beides wird erstellt. (Auch Nischen wie SQLite können bedient werden. ;-))
    sonstige Sprachen:
    • C
    • C++
    • C#
    • D
    • PAWN
    • JavaScript (HTML5)
    • PHP
    • Perl
    • SQL
    Assembler:
    • 6502
    • x86
    • IA64
    • PowerPC

    Momentan
    • Z-C (programming language)
    • CGI-PAWN (pawn for webprogramming)


  • Auch wenn das Thema alt ist, ich mach mal weiter :>

    PHP-Quellcode

    1. <?php
    2. include('core.php');
    3. session_start();
    4. if(session_is_registered(username)){
    5. $username = $_SESSION['username'];
    6. $password = $_SESSION['password'];
    7. $referral = FilterText($_GET['referral']);
    8. $sql = mysql_query("SELECT * FROM users WHERE name = '".$username."' LIMIT 1") or die(mysql_error());
    9. $row = mysql_fetch_assoc($sql);
    10. if($row['password'] !== $password){
    11. session_destroy();
    12. }
    13. }
    14. ?>
    Alles anzeigen

    Das ist eine kleine Security Aufentziehrung. Es checkt, ob der User Regisitert ist, sowie ob die Passwörter zustimmen.
    Es ist sehr Hilfsreich, wenn man einen Login per Include macht.

    Und hier nochwas:

    PHP-Quellcode

    1. <?
    2. $ip = "IP";
    3. $port = "PORT";
    4. if (! $sock = @fsockopen($ip, $port, $num, $error, 5))
    5. echo '<blink><font color="#FF0000">Offline</font></blink>';
    6. else{
    7. echo '<blink><font color="#00FF00">Online</font></blink>';
    8. fclose($sock);
    9. }
    10. ?>
    Dieses PHP Schnippsel gibt aus, ob der Server Online oder Offline ist. Es überprüft mit fsock() ob die Ports überrein stimmen und ob die IP voreinstimmt. Sobald es einstimmt gibt er dies aus:"12.xx:7777 ist Online" dabei ist der <blink> ein BB Code. Es ist für das Blinken da.
    I don't make SQL jokes myself....i get them FROM users :thumbup:
    Alter SA:MP Sack
    War hier schon bevor du da warst (95%ige Wahrscheinlichkeit (sagt Opa))

    Opas Objektstreamer v 5.1.1 | Twitter | Coderz | M2MP

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mesut ()

  • Ist kein Fragen Thread !
    "Es ist die Hardware, die einen Computer schnell macht; und die Software die ihn wieder verlangsamt."
    "Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Usenet-Forum zu posten und auf die Korrekturen zu warten."
    "Die einfachste Art die Zukunft vorherzusagen, ist sie zu implementieren."
  • Kleines INI System meinerseits

    Wie wäre es die Linien mit explode zu zerlegen & dann die Array mit einer Schleife zu zerlegen mit dem Trenner Gleich ,
    so kannst du locker die Daten abrufen.

    Da The_Gamer mich in ICQ genervt hat D: , Have Fun, mein kleines INI System

    PHP-Quellcode

    1. <?php
    2. /**
    3. * @author BlackFoX_UD_
    4. * @copyright 2010
    5. */
    6. function ReadIniKey($filex,$keyname)
    7. {
    8. $dateiinhalt = file($filex);
    9. $returno = 0;
    10. foreach ($dateiinhalt as $strx)
    11. {
    12. $strt = explode('=',$strx);
    13. if($strt[0] == $keyname)return rtrim($strt[1]);
    14. }
    15. return 0;
    16. }
    17. function SaveIniKey($filex,$keyname,$keyval)
    18. {
    19. if(!file_exists($filex))
    20. {
    21. $dateiinhalt[] = $keyname .'='. $keyval;
    22. return SaveKeys($filex,$dateiinhalt);
    23. }
    24. $dateiinhalt = file($filex);
    25. $gefunden = 0;
    26. $i = -1;
    27. foreach ($dateiinhalt as $strx)
    28. {
    29. $i++;
    30. $strt = explode('=',$strx);
    31. if($strt[0] == $keyname)
    32. {
    33. $dateiinhalt[$i] = $keyname .'='.$keyval;
    34. return SaveKeys($filex,$dateiinhalt);
    35. }
    36. }
    37. $dateiinhalt[] = $keyname .'='. $keyval;
    38. return SaveKeys($filex,$dateiinhalt);
    39. }
    40. function SaveKeys($filex,$arrx)
    41. {
    42. $dt = fopen($filex,'w');
    43. foreach($arrx as $tz)
    44. {
    45. fwrite($dt,$tz.'\r\n',strlen($tz));
    46. }
    47. fclose($dt);
    48. return 1;
    49. }
    50. ?>
    Alles anzeigen
    Mfg. BlackFoX_UD_ alias [BFX]Explosion

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von BlackFoX ()

  • PHP-Quellcode

    1. <?php
    2. $verz=opendir
    3. ('.');
    4. while ($file =
    5. readdir ($verz))
    6. {
    7. if($file
    8. != "."
    9. && $file
    10. != "..")
    11. echo '@@52045a6f1463fc49b61ed59a4084fd63f8489316@@<br>';
    12. }
    13. closedir($verz);
    14. ?>
    Alles anzeigen
    I don't make SQL jokes myself....i get them FROM users :thumbup:
    Alter SA:MP Sack
    War hier schon bevor du da warst (95%ige Wahrscheinlichkeit (sagt Opa))

    Opas Objektstreamer v 5.1.1 | Twitter | Coderz | M2MP
  • Eine simple Statusabfrage.
    Folgende Vorraussetzungen:
    Online Bild:
    Offline Bild:
    Eingabeseite: Anhang
    Statusausgabe: Anhang

    Tutorial:
    Alle Dateien (online.png | offline.png | index.html | status.php ) in einen beliebigen Ordner auf dem Webserver.
    Den Ordner aufrufen und testen.

    €dit by Seibay: Neuer Anhang - Das Gesamte als Funktion ( 1 = Online | 0 = Offline )

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Necktrox ()

  • Mit dieser Funktion kann man die SA:MP server.cfg Datei auslesen.

    PHP-Quellcode

    1. <?php
    2. /**
    3. * @author Hauke Marquardt
    4. * @copyright 2011
    5. */
    6. class fileFunctions {
    7. function getServerConfigFile($path) {
    8. $cFile = @fopen($path,"r");
    9. $rFile = array();
    10. while($line = fgets($cFile, MAX_CONFIG_SIZE))
    11. array_push($rFile,$line);
    12. fclose($cFile);
    13. return (count($rFile)) ? $rFile : false;
    14. }
    15. function parseFileToData($file,$data) {
    16. try {
    17. foreach($file as $singleLine) {
    18. $sD = explode(" ",$singleLine);
    19. if($sD[0]==$data) {
    20. $i=1;
    21. while(isset($sD[$i])) {
    22. $r = $r.$sD[$i]." ";
    23. $i++;
    24. }
    25. return substr($r,0,-1);
    26. break;
    27. }
    28. }
    29. }
    30. catch (Exeption $e) {
    31. return $e;
    32. }
    33. }
    34. }
    35. ?>
    Alles anzeigen


    Benutzung:

    PHP-Quellcode

    1. <?php
    2. $fFunctions = new fileFunctions();
    3. $configFile = $fFunctions->getServerConfigFile("/servers/samp03/server.cfg");
    4. echo "Das RCON Passwort ist: ".$fFunctions->parseFileToData($configFile,"rcon_password")
    5. ?>


    Die Klasse erweitere ich auf Anfrage.

    Ein sinnvoller Einsatz wäre z.B. in einem Server Control Panel, beidem viele Daten ausgelesen werden müssen.


    Viel Spaß damit! :)
    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA
    Hier könnte Ihre Werbung stehen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von |-|auke ()


  • LoL wusste garnicht das es son Thread auch für php gibt :D
    Naja, falls es jemand mal brauchen sollte (habs für mein CP gebraucht)

    SAMP Zones
    Download: pastebin.com/4jXNSPxk
    Funktionen:
    • GetZoneName($X,$Y)
      Gibt den Namen der Zone Innerhalb San Andreas zurück, in der sich die angegebene Position befindet.



    Skin Arrays
    Download: pastebin.com/qAAehkzf
    Funktionen:
    • IsAInvalidSkin($model)
      Gibt true zurück wenn die angegebene Model ID ein ungültiger Skin ist.
    • IsAFemaleSkin($model)
      Gibt true zurück wenn die angegebene Model ID ein weiblicher Skin ist.
    • IsAMaleSkin($model)
      Gibt true zurück wenn die angegebene Model ID ein männlicher Skin ist.
    • IsAGangSkin($model)
      Gibt true zurück wenn die angegebene Model ID ein Gang Skin ist.
    • IsAPublicSkin($model)
      Gibt true zurück wenn die angegebene Model ID ein Public Services Skin ist (siehe samp wiki).
    • GetSkinModel($model)
      Gibt den model Namen des Skins mit der angegebenen Model ID zurück.
    • GetSkinType($model)
      Gibt den Typ des Skins mit der angegebenen Modelid zurück (siehe samp wiki).
    • GetSkinLocation($model)
      Gibt den Aufentalsort aus dem Singeplayer des Skins mit der angegebenen Model ID zurück.
    • GetSkinGender($model)
      Gibt "Male" bzw "Female" zurück, je nachdem welches geschlecht der Skin mit der angegebenen Model ID hat.



    Vehicle Arrays
    Download: pastebin.com/yh2D60FP
    Funktionen:
    • IsACar($model)
      Gibt true zurück wenn die angegebene Model ID ein Auto ist.
    • IsABoat($model)
      Gibt true zurück wenn die angegebene Model ID ein Boot ist.
    • IsAPlane($model)
      Gibt true zurück wenn die angegebene Model ID ein Flugzeug ist.
    • IsAHelicopter($model)
      Gibt true zurück wenn die angegebene Model ID ein Helikopter ist.
    • IsABike($model)
      Gibt true zurück wenn die angegebene Model ID ein Motorrad ist.
    • IsATrain($model)
      Gibt true zurück wenn die angegebene Model ID ein Zug ist.
    • IsATrailer($model)
      Gibt true zurück wenn die angegebene Model ID ein Anhänger ist.
    • GetVehName($model)
      Gibt den Namen des Fahrzeuges mit der angegebenen Model ID zurück.
    • GetVehCategory($model)
      Gibt die Kategorie des Fahrzeuges mit der angegebenen Model ID zurück.
    • GetVehMod($model)
      Gibt den Namen der Tuningwerkstadt zurück in der das Fahrzeug mit der angegebenen Model ID getunt gerden kann.

    Kalcor schrieb:

    The fact is, I am right. And if you think I'm wrong, you are wrong.
  • Accountanzahl + Spieler Online (müsst nurnoch die Datenbanken verändern)
    Der Player_Onlinestatus setzt die Spalte "last_play" in der "Player" Datenbank vorraus

    PHP-Quellcode

    1. <?php
    2. ## SQL Configs
    3. $SQL_HOST = 127.0.0.0"; //ServerDB Host
    4. $SQL_USER = "root"; //Datenbank Benutzer
    5. $SQL_PASS = "passworthalt"; //Passwort
    6. ## Connecten zum MYSQL_Server
    7. mysql_connect($SQL_HOST, $SQL_USER, $SQL_PASS) OR
    8. die("ERROR: Connection failed. ".mysql_error());
    9. mysql_select_db($db) OR
    10. die("ERROR: DB allready open. ".mysql_error());
    11. ## Accounts
    12. mysql_select_db("account");
    13. $query = mysql_query("SELECT * FROM account");
    14. $num = mysql_num_rows($query);
    15. ##Player
    16. mysql_select_db("player");
    17. $exe = mysql_query("SELECT COUNT(*) as count FROM player WHERE DATE_SUB(NOW(), INTERVAL 10 MINUTE) < last_play;");
    18. $player_online = mysql_fetch_object($exe)->count+1;
    19. ?>
    20. <table width="104%" border="0">
    21. <tr>
    22. <td width="57%" height="18">Erstellte Accounts</td>
    23. <td width="6%">&raquo;</td>
    24. <td width="37%"><font color="#336699"><?php echo $num;?></font></td>
    25. </tr>
    26. <tr>
    27. <td>Aktive Player</td>
    28. <td>&raquo;</td>
    29. <td><font color="#336699"><?php echo $player_online ?></font></td>
    30. </tr>
    31. <tr>
    32. </td></tr>
    33. </table>
    Alles anzeigen


    Müsste so gehen
    müsst ihr halt an euer Design anpassen
  • Hier mal mein Senf dazu :D
    Ich habe mich hier etwas umgeschaut und hier sind viele Anfragen gewesen was die dynamische Signatur angeht.
    Hier mal eine kleine Anleitung und der Script.

    PHP-Quellcode

    1. <?
    2. $SQL_HOST = 'localhost'; // Ist klar
    3. $SQL_USER = 'root'; // Name
    4. $SQL_PASS = ''; // Passwort
    5. $SQL_DB = ''; //Datenbank von Wbb
    6. $SQL_PLAYER_TABL = 'wcf1_user'; // Tabelle woraus die userID gelesen wird
    7. $SQL_PLAYER_NAMECOL = 'userID'; // User ID
    8. if ( !isset($_GET['id']) )
    9. exit( 'Please define \'u\' parameter as username.' );
    10. $username = $_GET['id'];
    11. $msql_conn = new MySQLi( $SQL_HOST, $SQL_USER, $SQL_PASS, $SQL_DB );
    12. if ( $msql_conn->connect_error )
    13. {
    14. printf( 'Failed to connect to host %s with user %s (password %s) to database %s. Error: %s<br>',
    15. $SQL_HOST, $SQL_USER, $SQL_PASS, $SQL_DB, $msql_conn->connect_error );
    16. exit();
    17. }
    18. $query = sprintf( 'SELECT * FROM `%s` WHERE `%s` = \'%s\';', $SQL_PLAYER_TABL, $SQL_PLAYER_NAMECOL,
    19. $username );
    20. $query_result = mysqli_query( $msql_conn, $query );
    21. if ( !$query_result )
    22. $error = 'Query failed. ' .$msql_conn->error;
    23. if ( !isset($error) && $query_result->num_rows == 0 )
    24. $error = 'Kein Benutzer gefunden!';
    25. if ( isset($error) )
    26. {
    27. $msql_conn->close();
    28. exit( $error );
    29. }
    30. $img = ImageCreateFromPNG("siggy.png"); // Bild :D kann auch in einem anderen Ordner sein, muss man aber auch eintragen.
    31. //$img = imagecreate( 500, 100 );
    32. if ( !$img )
    33. {
    34. $msql_conn->close();
    35. exit( 'Failed to create image' );
    36. }
    37. $img_bg_color = imagecolorallocate ( $img, 255, 255, 255 );
    38. $text_color = imagecolorallocate ( $img, 0, 0, 255 );
    39. $text_color = 0x00FFFFFF;
    40. $result_obj = $query_result->fetch_object();
    41. $pictureString = sprintf ( 'Name: %s\nPlayer is: %s\nRank: %s', $result_obj->username,
    42. ($result_obj->activityPoints > 0) ? 'aktiv':'inaktiv', $result_obj->userTitle );
    43. $pictureStringExpl = explode ( '\n', $pictureString );
    44. reset( $pictureStringExpl );
    45. $yOffset = 100;
    46. foreach ( $pictureStringExpl as $textrow )
    47. {
    48. imagestring ( $img, 5, 15, $yOffset, $textrow,
    49. $text_color );
    50. $yOffset += 15;
    51. }
    52. header ( 'Content-type: image/png' );
    53. ImagePng ($img);
    54. $msql_conn->close();
    55. imagedestroy ( $img );
    56. ?>
    Alles anzeigen


    ein mod_rewrite gibts obendrei noch dazu :D

    PHP-Quellcode

    1. RewriteEngine On
    2. RewriteRule ^([^/]*)\.png$ /Signature.php?id=$1 [L]


    müsste funktionieren, versucht es aber mal aus.

    PS: Der code gehört in ein .htaccess datei.

    Mittelsmänner hier: Klick

  • Hab mal vor kurzem eine TS³ Anbindung bei uns gemacht, um mit php einen User in die nötige Gruppe zu switchen hab ich mich auf die ts³ serverquery verbunden.
    Das geht dann am besten so:

    PHP-Quellcode

    1. <?php
    2. $host = "127.0.0.1";
    3. $port = 10011;
    4. $ts3_serverid = 1;
    5. $sa_username = "serveradmin";
    6. $sa_passwd = "mypassword";
    7. if($fp = fsockopen($host, $port, $errstr, $errno, 5))
    8. {
    9. sleep(1);
    10. fputs($fp,"login $sa_username $sa_passwd\r\n");
    11. sleep(1);
    12. fputs($fp, "use $ts3_serverid\r\n");
    13. sleep(1);
    14. // Now your commands with fputs
    15. //....
    16. fclose($fp);
    17. }
    18. ?>
    Alles anzeigen

    San Andreas [Fun]RealLife
    [ TOOL ] Grex's RCON Tool
    "Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher" - Albert Einstein
  • Hier mal ein Kleine Alters Berechnung wen man es z.b So 14.Mai.1991 in der Datenbank oder so Speichern tut.

    PHP-Quellcode

    1. /* Alter berechnung */
    2. function alter($tag,$mon, $jah) {
    3. switch($mon){
    4. case'Januar':$mon = 1;break;
    5. case'Februar':$mon = 2;break;
    6. case'März':$mon = 3;break;
    7. case'April':$mon = 4;break;
    8. case'Mai':$mon = 5;break;
    9. case'Juni':$mon = 6;break;
    10. case'Juli':$mon = 7;break;
    11. case'August':$mon = 8;break;
    12. case'September':$mon = 9;break;
    13. case'Oktober':$mon = 10;break;
    14. case'November':$mon = 11;break;
    15. case'Dezember':$mon = 12;break;
    16. default:
    17. }
    18. $jetzt = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
    19. $gebur = mktime(0, 0, 0, $mon, $tag, $jah);
    20. return $age = intval(($jetzt - $gebur) / (3600 * 24 * 365));
    21. }
    Alles anzeigen

    Anwendung:

    PHP-Quellcode

    1. alter($tag,$mon, $jah);
  • Hab hier mal ne kleine Nützliche Klasse, 1* um herrauszufinden ob der Browser Mobil ist oder nicht & einmal einfach nur um die IP raus zu finden, ich weiß nichts großes aber doch nützlich:
    Spoiler anzeigen

    PHP-Quellcode

    1. <?php
    2. class browserclass
    3. {
    4. // gibt zurück ob der Browser ein Mobiler Browser ist oder nicht.
    5. public function mobiler($agent)
    6. {
    7. if(preg_match('/android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$agent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i',substr($agent,0,4)))
    8. {
    9. return true;
    10. }
    11. else
    12. {
    13. return false;
    14. }
    15. }
    16. // gibt die IP zurück
    17. public function ip()
    18. {
    19. return $_SERVER["REMOTE_ADDR"];
    20. }
    21. }
    22. ?>
    Alles anzeigen


    Benutzung:

    PHP-Quellcode

    1. <?php
    2. // Mobiler Browser:
    3. $browser = new browserclass();
    4. if($browser->mobiler($_SERVER['HTTP_USER_AGENT']))
    5. {
    6. echo "mobiler";
    7. }
    8. else
    9. {
    10. echo "nicht mobiler";
    11. }
    12. // IP:
    13. echo $browser->ip();
    14. ?>
    Alles anzeigen
    Mit freundlichen Grüßen
    Developer
    Senior Webdeveloper | Fachinformatiker Anwendungsentwicklung
  • Auch nuetzlich: StartsWith und EndsWith.

    PHP-Quellcode

    1. function str_startswith($haystack, $needle)
    2. {
    3. return !strncmp($haystack, $needle, strlen($needle));
    4. }
    5. function str_endswith($haystack, $needle)
    6. {
    7. $length = strlen($needle);
    8. if ($length == 0) {
    9. return true;
    10. }
    11. return (substr($haystack, -$length) === $needle);
    12. }
    Alles anzeigen


    Aufruf:

    PHP-Quellcode

    1. if(str_startswith("Apfel", "Ap")) {
    2. echo "Apfel beginnt mit Ap!";
    3. } else {
    4. echo "Apfel beginnt nicht mit Ap!";
    5. }


    PHP-Quellcode

    1. if(str_endswith("Banane", "ne")) {
    2. echo "Banane endet mit ne!";
    3. } else {
    4. echo "Banane endet nicht mit ne!";
    5. }


    Nicht von mir.
  • Raphael.K schrieb:

    Hat jemand vllt nen IMG Upload Script Schnipsel wo man in ein UCP Einbauen kann? und das Bilder auf einen Definierbaren Pfad Geladen werden ?
    Danke schonmal
    Sekunde,...

    Upload.php:


    Spoiler anzeigen

    PHP-Quellcode

    1. <?php
    2. // Folgende Dateien sind zugelassen
    3. $whitelist = array('mp3', 'wav',);
    4. if(isset($_FILES['datei']))
    5. {
    6. // Die Endung der Datei rausfiltern..
    7. $filetype = substr($_FILES['datei']['name'], strlen($_FILES['datei']['name'])-3);
    8. // ..und mit der Whitelist vergleichen
    9. if(in_array($filetype, $whitelist))
    10. {
    11. if($_FILES['datei']['size'] >=8000 AND $_FILES['datei']['size'] <=14000000)
    12. {
    13. move_uploaded_file($_FILES['datei']['tmp_name'], 'uploads/'.$_FILES['datei']['name']);
    14. $output = "@@0d11dcf8ac8df20bd00b738564f7fd2a00ad4895@@';
    15. echo $output;
    16. }
    17. else
    18. {
    19. echo 'Falsche Gr&ouml;sse';
    20. }
    21. }
    22. else
    23. {
    24. echo 'Es k&ouml;nnen nur Mp3, Wav und M4a Dateien hochgeladen werden';
    25. }
    26. }
    27. else
    28. {
    29. echo 'Datei Upload fehlgeschlagen';
    30. }
    31. ?>
    Alles anzeigen




    Upload.html:


    Spoiler anzeigen

    PHP-Quellcode

    1. <?php
    2. session_start();
    3. if(!isset($_SESSION['username']))
    4. {
    5. echo "Bitte erst @@36ed5f148e0a0c6b666a4bede130e5d973258ff7@@";
    6. exit;
    7. }
    8. ?>
    9. <html>
    10. <head>
    11. <title>Login-Bereich-Upload</title>
    12. <body bgcolor="#0066FF">
    13. <meta name="copyright" content="Karim Saad">
    14. </head>
    15. <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    16. </body>
    17. </html>
    18. <h1><p>Hallo, Willkommen im Upload </p></h1>
    19. Upload hier:
    20. <form action = 'upload.php' method = 'post' enctype = 'multipart/form-data'>
    21. <input type = 'file' name = 'datei' />
    22. <input type = 'submit' value = 'upload' />
    23. </form>
    24. (C)Copyright 2011 made by Desta Online/Karim Saad
    25. Der Autor dieser Webseite nimm auf alles KEINE Haftung.
    Alles anzeigen





    Nur zur Info, das habe ich selbst mit 9 Jahren geschrieben ;)

    MfG
    Geronimo
  • Ein einfacher, jedoch nützlicher Codeschnipsel, um die Downloadgeschwindigkeit zu reduzieren.

    PHP-Quellcode

    1. <?php
    2. $file = "DATEI";
    3. $kbps = 30;
    4. header("Content-Type: application/download");
    5. header("Content-Disposition: attachment; filename=\"$file\"");
    6. $fp = fopen($file, 'r'); /
    7. $delay = (int)ceil(1000/$kbps);
    8. while (!feof($fp)) {
    9. echo fread($fp, 1024);
    10. usleep($delay);
    11. }
    12. fclose($fp);
    13. ?>
    Alles anzeigen