Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Anfängerfehler festgelegt

PHP-Anfängerfehler festgelegt

巴扎黑
巴扎黑Original
2016-11-23 10:34:291211Durchsuche

Bitte aktivieren Sie alle Fehleraufforderungen für die Entwicklung: error_reporting = E_ALL |.
Das Blockieren von Fehleraufforderungen ist gleichbedeutend damit, Ihre Ohren zu verstecken und die Glocke zu stehlen.
Durch das standardisierte Schreiben von Code werden Fehler um die Hälfte reduziert.

1: Warum kann ich die Variable nicht abrufen?

Ich POSTE den Datennamen von einer Webseite auf eine andere Webseite. Warum kann ich keinen Wert erhalten, wenn ich $name ausgebe?

In PHP4.2 und späteren Versionen ist register_global standardmäßig ausgeschaltet
Wenn Sie die Variablen von einer anderen Seite übermittelt bekommen möchten:

Methode 1: Suchen Sie register_global in PHP.ini und legen Sie es fest es zu aktivieren.
Methode 2: Platzieren Sie diesen extract($_POST);extract($_GET); an der Vorderseite der empfangenden Webseite (beachten Sie, dass Session_Start() vor extract($_SESSION) stehen muss).
//extract ( array $var_array [, int $extract_type [, string $prefix ]] )

//Diese Funktion wird verwendet, um Variablen aus dem Array in die aktuelle Symboltabelle zu importieren. Akzeptiert das assoziative Array var_array als Argument und verwendet den Schlüssel //name als Variablennamen und den Wert als Variablenwert. Für jedes Schlüssel/Wert-Paar wird in der aktuellen Symboltabelle eine Variable erstellt, die von den Parametern //extract_type und prefix beeinflusst wird.
//import_request_variables (string $types [, string $prefix]) ist super global und hat Lücken in $_ $*

Methode 3: Variablen einzeln lesen $a=$_GET["a "];$b=$_POST["b"] usw. Diese Methode ist zwar problematisch, aber sicherer.

2: Debuggen Ihres Programms

Sie müssen etwas wissen, wenn Sie What ausführen ist der Wert der Variablen. Das habe ich gemacht, eine Datei debug.php mit folgendem Inhalt erstellt:

PHP-Code:------------------------ -------------------------------------------------- ------

Code kopieren

Ob_Start();
Session_Start();
Echo "

";<br> Echo "Machen Sie weiter Seite Die _GET-Variablen sind: ";<br> Print_R($_GET);<br> Echo "Die auf dieser Seite erhaltenen _POST-Variablen sind:";<br> Print_R($_POST);<br> Echo "Diese Seite ist erhalten Die _COOKIE-Variablen sind: ";<br> Print_R($_COOKIE);<br> Echo "Die auf dieser Seite erhaltenen _SESSION-Variablen sind: ";<br> Print_R($_SESSION);<br> Echo "</ pre>";<br><br><br><br>---------------------------------- -------------------------------------------------- <br><br>Dann setzen Sie include_path = "c:/php" in php.ini und legen Sie debug.php in diesem Ordner ab. <br> Sie können diese Datei in Zukunft in jede Webseite einbinden und die erhaltenen Variablennamen überprüfen und Wert.<br><br>3: So verwenden Sie die Sitzung<br><br>Alles, was mit der Sitzung zu tun hat, müssen Sie vorher die Funktion session_start() aufrufen;<br><br>Das Bezahlen des Werts für die Sitzung ist sehr einfach. wie zum Beispiel:<br><br><br>PHP-Code:----------------------------------- ----- ----------------------------------------<br><br> in php4.2 Danach können Sie direkt für die Sitzung bezahlen: <br><br>PHP-Code:------------------------ ------- ----------------------------------------<br> <br>[php]<br>Session_Start();<br>$_SESSION["name"]="value";<br>[/php]<br><br>-------- - ------------------------------------------------- - --------<br><br>Brechen Sie die Sitzung wie folgt ab:<br><br>PHP-Code:------- - ------------------------------------------------- - -----------------------<br><br>[php]<br>session_start();<br>session_unset();<br> session_destroy( );<br>[/php]<br><br>--------------------------------- -------------------------------------------------<br><br><br>Es gibt einen FEHLER beim Abbrechen einer bestimmten Sitzungsvariablen in PHP4.2 und höher.<br><br><br><br>Hinweis:<br><br>1: Das kann nicht sein jede Ausgabe vor dem Aufruf von Session_Start(). Beispielsweise ist Folgendes falsch.<br>============================== =========== ==<br>1 Zeile<br>2 Zeilen [php]<br>3 Zeilen Session_Start();//In der ersten Zeile wurde bereits vor<br>4 ausgegeben Zeilen....<br>5 Zeilen[ /php]<br>================================ =========<br><br><br>Tipp 1:<br><br>Jedes Mal, wenn „.....headers bereits gesendet.....“ angezeigt wird, bedeutet dies, dass ein gesendet wird Nachricht an den Browser vor Session_Start() Ausgabeinformationen.<br>Es ist normal, wenn Sie die Ausgabe entfernen (Dieser Fehler tritt auch in COOKIE auf und die Fehlerursache ist dieselbe)<br><br>Tipp 2:<br><br>Wenn Ihr Session_Start() in einer Schleifenanweisung platziert ist und es schwierig ist zu bestimmen, wo die Informationen zuvor an den Browser ausgegeben wurden, können Sie die folgende Methode verwenden: <br>1 Zeile [php ] Ob_Start(); [/php]<br>.....Hier ist das Programm...<br><br><br><br>2: Was ist der Fehler<br><br>Warnung : session_start(): open(/tmpsess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) fehlgeschlagen:... .<br>Weil Sie den Speicherpfad der Sitzungsdatei nicht angegeben haben.<br><br>Lösung: <br>(1) Erstellen Sie die Ordner tmp auf dem Laufwerk C<br>(2) Öffnen Sie php.ini und suchen Sie den Sitzungsspeicherpfad, geändert in session.save_path= "c:/tmp"<br><br><br><br>4: Warum Wenn ich Variablen auf eine andere Webseite übertrage, erhalte ich nur die erste Hälfte und alle, die mit Leerzeichen beginnen, gehen verloren <br><br><br>PHP-Code:------------- ---------------------------- -------- --------------------<br><br>[php ]<br>$Var="hello php";//Ändern zu $Var="hello php "; Versuchen Sie, das Ergebnis zu erhalten<br>$post= "receive.php?Name=".$Var;<br>header("location:$post");<br>[/php]<br><br>--------- -------------------------------------------------- -------<br><br>receive.php content:<br><br>PHP code:-------- - ------------------------------------------------- - ----------------------<br><br>[php]<br>Echo "<pre class="brush:php;toolbar:false">";<br>Echo $_GET[" Name"];<br>Echo "
";
[/php]

--------------------- -------------------------------------------------- ----------


Die richtige Methode ist:

PHP-Code:----------------- - ------------------------------------------------- - ------------

[php]
$Var="hello php";
$post= "receive.php?Name=".urlencode( $ Var);
header("location:$post");
[/php]

-------------------- - ------------------------------------------------- - ---------


Sie müssen Urldecode() nicht auf der Empfangsseite verwenden, die Variablen werden automatisch codiert.


5: So fangen Sie chinesische Zeichen einer bestimmten Länge ab. Es endet nicht mit „[/php]“, und der überschüssige Teil wird durch „…“ ersetzt


Im Allgemeinen sind die Variablen Um abzufangen, müssen Sie zunächst sicherstellen, dass die Feldlänge ausreichend ist, normalerweise char(200), und 100 chinesische Zeichen enthalten kann, einschließlich Satzzeichen. --------------------------------------------------- --------

[php]
$str="Dieses Zeichen ist so lang,^_^ ";
$Short_Str=showShort($str,4);// Die ersten 4 chinesischen Zeichen abfangen, das Ergebnis ist: dieses Zeichen...
Echo "$Short_Str";
Funktion csubstr($ str,$start,$len)
{
$strlen=strlen( $str);
$clen=0;
for($i=0;$i<$strlen;$i ,$clen )
{
if ($clen>=$start $ len)
break;
if(ord(substr($str,$i,1))>0xa0)
{
if ($clen>=$start)
$tmpstr .=substr($str,$i,2);
$i ;
}
else
{
if ($clen>=$start)
$tmpstr.= substr($str,$i,1);
}
}

return $tmpstr;
}
Funktion showShort($str,$len)
{
$tempstr = csubstr($str,0,$len);
if ($str<>$tempstr)
$tempstr .= "..."; //Womit enden, ändern Sie können es hier tun.

return $tempstr;
}

---- ---------------------- -------------- ---------------------- ----



6: Standardisieren Sie Ihre SQL-Anweisungen


Fügen Sie „`“ vor Tabellen und Feldern hinzu, damit diese nicht missbraucht werden. Ein Fehler tritt aufgrund von Schlüsselwörtern auf.
Natürlich empfehle ich Ihnen nicht, Schlüsselwörter zu verwenden.

Zum Beispiel
$Sql="INSERT INTO `xltxlm` (`author`, `title`, `id` , `content`, `date`) VALUES ('xltxlm', 'use`', 1, 'criterion your sql string ', '2003-07-11 00:00:00')"

" `"Eingabe? Mit der TAB-Taste.


7: So verhindern Sie die Html /PHP-Formatzeichenfolge wird nicht interpretiert, aber der


PHP-Code wird so angezeigt, wie er ist :---------- ------------------------- ----------- ---------

[php]
$str="";
Echo "Interpretiert: ".$str."< ;br>Verarbeitet:";
Echo htmlentities(nl2br($str));
[/php]

nl2br()-Funktion fügt ein HTML-Neuzeilenzeichen ein (
) vor jeder neuen Zeile (n) in einer Zeichenfolge.
htmlentities(string,quotestyle,character-set)
 

quotestyle ist optional. Gibt an, wie einfache und doppelte Anführungszeichen codiert werden.

ENT_COMPAT – Standard. Es werden nur doppelte Anführungszeichen codiert.
ENT_QUOTES – Kodieren Sie doppelte und einfache Anführungszeichen.
ENT_NOQUOTES – Keine Anführungszeichen kodieren.

Zeichensatz

ISO-8859-1 – Standard. Westeuropa.
ISO-8859-15 – Westeuropa (fügt das Euro-Symbol sowie französische und finnische Buchstaben hinzu).
UTF-8 – ASCII-kompatibler Multibyte-8-Bit-Unicode
cp866 – DOS-spezifischer kyrillischer Zeichensatz
cp1251 – Windows-spezifischer kyrillischer Zeichensatz
cp1252 – Windows-spezifischer westeuropäischer Zeichensatz
KOI8- R – Russisch
GB2312 – Vereinfachtes Chinesisch, nationaler Standardzeichensatz
BIG5 – Traditionelles Chinesisch
---------------------------------- ---- ---------------------------------------------- ---- -----



8: So erhalten Sie den Variablenwert außerhalb der Funktion in der Funktion


PHP-Code:--- ------ -------------------------------------------- ------ ---------------------

[php]
$a="PHP";
foo ();
Function foo()
{
global $a;//Hier löschen und sehen, was das Ergebnis ist
Echo "$a";
}
[/php ]

--------------------------------------------------------- ------- ----------------------------------



9: Woher weiß ich, dass das System dies standardmäßig unterstützt?


PHP-Code:-------------------- ---------------------------- -------- ------------------------

[php]
$arr = get_defined_functions();
Funktion php( ) {
}
echo „
“;<br>Echo „Hier werden alle vom System unterstützten Funktionen und benutzerdefinierten PHPN-Funktionen angezeigt“;<br>print_r($arr);<br>echo „
“;
[/php]
-- ------------------------------------------------ -- ---------------------------------


10: Wie man den Unterschied zwischen zwei vergleicht Termine


PHP-Code:------------------------------------- -------- ------------------------------------------ --------

[php]
$Date_1="2003-7-15";//Es kann auch sein: $Date_1="2003-6-25 23:29 :14";
$Date_2="1982-10-1";
$Date_List_1=explode("-",$Date_1);
$Date_List_2=explode("-",$Date_2);
$d1=mktime(0,0,0,$Date_List_1[1 ],$Date_List_1[2],$Date_List_1[0]);
$d2=mktime(0,0,0,$Date_List_2[ 1],$Date_List_2[2],$Date_List_2[0]);
$Days=round(($d1-$d2)/3600/24);
Echo „Ich habe $Days Tage lang gekämpft^ _^";
[/php]

( strtotime($Date_1) - strtotime($Date_2))/3600/24
------------- -------------------- ---------------- --------------------


11: Warum nach dem Upgrade von PHP das ursprüngliche Programm einen Vollbildmodus anzeigte. Hinweis: Undefinierte Variable:


Dies ist eine Warnung, die dadurch verursacht wird, dass die Variable nicht definiert ist.
Öffnen Sie php.ini, suchen Sie unten nach error_reporting und ändern Sie es in error_reporting = E_ALL & ~E_NOTICE

Für Analysefehler Fehler
error_reporting(0) kann nicht geschlossen werden.
Wenn Sie eine Fehlermeldung schließen möchten, öffnen Sie php.ini, suchen Sie display_errors, setzen Sie display_errors = Off. Es werden in Zukunft keine Fehler mehr angezeigt.

Was ist dann error_reporting?



12: Ich möchte am Anfang und am Ende jeder Datei eine Datei hinzufügen, aber das Hinzufügen einer nach der anderen ist mühsam

1: Öffnen Sie die php.ini-Datei
und setzen Sie include_path= "c:"

2: Schreiben Sie zwei Dateien
auto_prepend_file.php und auto_append_file.php und speichern Sie sie im Laufwerk C . Sie werden automatisch an den Kopf und das Ende jeder PHP-Datei angehängt.

3: In php.ini finden Sie:
Dateien automatisch vor oder nach jedem PHP-Dokument hinzufügen 🎜>
PHP-Code:----------------------------------- ------ -----------------------------------------

[php]
Include „auto_prepend_file.php“ ;

.....//Hier ist Ihr Programm


Include „auto_append_file.php“;
[/php]

--------------- ---------------------------------------




13: So laden Sie Dateien mit PHP hoch



PHP-Code:--------------------- -- ------------------------------------------------ -- -------
[php]

Dateiformular hochladen
< ;body>

Bitte wählen Sie eine Datei aus:






< /html>

$upload_file=$_FILES['upload_file']['tmp_name'];
$upload_file_name=$_FILES['upload_file']['name'];

if($upload_file){
$file_size_max = 1000*1000;// 1 Mio. maximale Datei-Upload-Kapazität (Byte) begrenzen
$store_dir = "d:/";// Speicherort der hochgeladenen Dateien
$ Accept_overwrite = 1;//Ob das Überschreiben derselben Datei zulässig ist
//Überprüfen Sie die Dateigröße
if ($upload_file_size > $file_size_max) {
echo „Ihre Dateikapazität ist leider größer als angegeben“;
exit;
}

// Lese- und Schreibdateien prüfen
if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {
Echo "Dateien mit demselben file name exist ";
exit;
}

//Kopiere die Datei in das angegebene Verzeichnis
if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {
echo „Kopieren der Datei fehlgeschlagen“;
exit;
}

}

Echo „

Sie haben eine Datei hochgeladen:“;
echo $_FILES[ 'upload_file'][ 'name'];
echo "
";
//Der ursprüngliche Name der Client-Maschinendatei.

Echo „Der MIME-Typ der Datei ist:“;
echo $_FILES['upload_file']['type'];
//Der MIME-Typ der Datei, den der Browser benötigt um diese Informationen bereitzustellen Unterstützt, wie zum Beispiel „image/gif“.
echo "
";

Echo "Dateigröße hochladen:";
echo $_FILES['upload_file']['size'];
//Hochgeladene Datei Die Größe in Bytes.
echo „
“;

Echo „Die Datei wird vorübergehend gespeichert als:“;
echo $_FILES['upload_file']['tmp_name'];
//Der temporäre Dateiname, der nach dem Hochladen der Datei auf dem Server gespeichert wird.
echo "
";


$Erroe=$_FILES['upload_file']['error'];
switch($Erroe){
case 0 :
Echo „Upload erfolgreich“; break;
case 1:
Echo „Die hochgeladene Datei überschreitet den durch die Option upload_max_filesize in php.ini begrenzten Wert“;
case 2:
             Echo     „Die Größe der hochgeladenen Datei überschreitet den durch die Option MAX_FILE_SIZE im HTML-Formular angegebenen Wert.“;      break;
       Fall 3:
                                       Echo                 „Die Größe der hochgeladenen Datei überschreitet den in der Datei angegebenen Wert.“ Option MAX_FILE_SIZE im HTML-Formular. -------------------------------------------------- -------------- ----------------------------------- --------------- --------



14: So konfigurieren Sie die GD-Bibliothek


Das Folgende ist mein Konfigurationsprozess
1: Verwenden Sie den DOS-Befehl (Sie können dies auch manuell tun, indem Sie alle DLL-Dateien im DLLs-Ordner in das System32-Verzeichnis kopieren) c:phpdlls*.dll c:windowssystem32 kopieren
2: Öffnen Sie php.ini
und setzen Sie extension_dir = "c:/php/extensions /";
3:
extension=php_gd2.dll; Entfernen Sie das Komma vor der Erweiterung php_gd2.dll, das Gleiche gilt für php_gd.dll. Stellen Sie sicher, dass diese Datei c:/php/extensions/php_gd2 .dll existiert.
4: Führen Sie das folgende Programm zum Testen des

PHP-Codes aus: ----------------------------- --------------------- -------------- -

[php]
Ob_end_flush();
/ /Beachten Sie, dass vorher keine Informationen an den Browser ausgegeben werden können. Achten Sie darauf, ob auto_prepend_file gesetzt ist.
header ("Content- type: image/png");
$im = @imagecreate (200, 100 )
oder sterben („Bild kann nicht erstellt werden“);
$background_color = imagecolorallocate ($im, 0,0, 0 );
$text_color = imagecolorallocate ($im, 230, 140, 150) ;
imagestring ($im, 3, 30, 50, "A Simple Text String", $text_color);
imagepng ( $im);
[/php]

-- --------------------------------------------- ------------------- ----------------



Klicken Sie hier, um die Ergebnisse anzuzeigen



15: Was ist UBB-Code?


UBB-Code ist eine Variante von HTML und Ultimate Bulletin Board (ein ausländisches BBS-Programm, in dem dieses Programm auch verwendet wird). An vielen Orten in China wird ein spezieller TAG verwendet. Auch wenn die Verwendung von HTML verboten ist, können Sie UBBCode trotzdem verwenden Durch die Verwendung von HTML ist die Verwendung sicherer, da weniger Code erforderlich ist.

Q3boys UBB enthält Beispiele und Sie können den Test direkt ausführen


16: Ich denke, Ändern Sie MySQL Benutzer und Passwort

Zunächst muss festgestellt werden, dass für die Änderung von MySQL in den meisten Fällen Root-Berechtigungen in MySQL erforderlich sind,
daher können normale Benutzer das Passwort nur ändern, wenn sie den Administrator dazu auffordern.

Methode 1
Verwenden Sie phpmyadmin. Dies ist die einfachste Methode. Ändern Sie die Benutzertabelle der MySQL-Bibliothek.
Vergessen Sie jedoch nicht, die PASSWORT-Funktion zu verwenden.

Methode 2
Bei Verwendung von mysqladmin handelt es sich um einen bereits erwähnten Sonderfall.
Mysqladmin -u root -p Passwort mypasswd
Nach Eingabe dieses Befehls müssen Sie das ursprüngliche Passwort von Root eingeben. Anschließend wird das Root-Passwort in mypasswd geändert.
Ändern Sie „root“ im Befehl in Ihren Benutzernamen, und Sie können Ihr eigenes Passwort ändern.
Wenn Ihr MySQL-Administrator natürlich keine Verbindung zum MySQL-Server herstellen kann oder Sie MySQL-Administrator nicht ausführen können,
dann ist diese Methode ungültig.
Und mysqladmin kann das Passwort nicht löschen.

Die folgenden Methoden werden an der MySQL-Eingabeaufforderung verwendet und müssen über Root-Berechtigungen für MySQL verfügen:
Methode drei
mysql> '%','jeffrey',PASSWORD('biscuit'));
mysql> Genauer gesagt handelt es sich um das Hinzufügen eines Benutzers mit dem Benutzernamen jeffrey und dem Passwort cookie.
Dieses Beispiel gibt es im „MySQL Chinese Reference Manual“, also habe ich es aufgeschrieben.
Achten Sie darauf, die PASSWORT-Funktion zu verwenden, und verwenden Sie dann FLUSH PRIVILEGES.

Methode 4
Gleich wie Methode 3, außer dass die REPLACE-Anweisung verwendet wird
mysql> REPLACE INTO mysql.user (Host, Benutzer, Passwort)
VALUES('%',' jeffrey ',PASSWORD('biscuit'));
mysql>

Methode 5
Verwenden Sie die SET PASSWORD-Anweisung,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
Sie müssen auch die Funktion PASSWORD() verwenden,
, es ist jedoch nicht erforderlich, FLUSH PRIVILEGES zu verwenden.

Methode 6
Verwenden Sie die GRANT... IDENTIFIED BY-Anweisung
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
Hier ist das PASSWORT( )-Funktion ist unnötig und es besteht keine Notwendigkeit, FLUSH PRIVILEGES zu verwenden.

Hinweis: PASSWORD() führt die Passwortverschlüsselung [nicht] auf die gleiche Weise durch wie die Unix-Passwortverschlüsselung.


17: Ich möchte wissen, über welche Website er mit dieser Seite verbunden ist



PHP-Code:------------ -------------------------------------------------- -------------------

[php]
//Sie müssen über eine Superverbindung eintreten, um eine Ausgabe zu erhalten
Echo $_SERVER[' HTTP_REFERER' ];
[/php]

--------------------------------- -------------------------------------------------



18: Worauf sollten Sie achten, wenn Sie Daten in die Datenbank eingeben und sie zur Anzeige auf der Seite herausnehmen?

Bei der Eingabe in die Datenbank
$str= addslashes($str);
$sql=" insert into `tab` (`content`) Values('$str')";
Beim Verlassen der Bibliothek
$str=stripslashes($str) ;
Bei der Anzeige
$str=htmlspecialchars( nl2br($str)) ;



fügt die Funktion addslashes() einen Backslash vor den angegebenen vordefinierten Zeichen hinzu.

Diese vordefinierten Zeichen sind:

Einfaches Anführungszeichen (')
Doppeltes Anführungszeichen (")
Backslash ()
NULL

Stripslashes ()-Funktion Entfernt den durch die Funktion addslashes() hinzugefügten Backslash.
Die Funktion htmlspecialchars() wandelt einige vordefinierte Zeichen in HTML-Entitäten um.

19: So lesen Sie die aktuellen Adressleisteninformationen



PHP-Code:---------------- -------------------------------------

[php ]
$s="http://{$_SERVER['HTTP_HOST']}:{$_SERVER["SERVER_PORT"]}{$_SERVER['SCRIPT_NAME']}";
$se='' ;
foreach ($_GET as $key => $value) {
$se.=$key."=".$value."&"; .*)&$/","$1",$se);
$se?$se="?".$se:"";
echo $s."?$se ";
[/php]
--------------------------- - -----------------------------------------




20: Ich habe auf die Schaltfläche „Zurück“ geklickt. Warum sind die Dinge, die ich zuvor ausgefüllt habe, verschwunden?

Das liegt daran, dass Sie die Sitzung verwendet haben.
Lösung:

PHP-Code :- ------------------------------------------------ -- ------------

[php]
session_cache_limiter('private, Must-revalidate' ) ;
session_start();
.....
.....
[/php]

- ------------ -------------------------------------- ------------ --------------



21: So zeigen Sie die IP-Adresse in Bildern an


PHP-Code:--- -------------------------------------- ------------ ------------------------------

[php ]
Header("Content-type: image /png");
$img = ImageCreate(180,50);
$ip = $_SERVER['REMOTE_ADDR'];
ImageColorTransparent($ img,$bgcolor);
$bgColor = ImageColorAllocate($img, 0x2c,0x6D,0xAF); // Hintergrundfarbe
$shadow = ImageColorAllocate($img, 250,0,0); // Schattenfarbe
$textColor = ImageColorAllocate($img, oxff ,oxff,oxff); // Schriftfarbe
ImageTTFText($img,10,0,78,30,$shadow,"d:/windows/fonts/Tahoma .ttf",$ip);
ImageTTFText($img,10,0,25,28,$textColor,"d:/windows/fonts/Tahoma.ttf","your ip is". $ip); // IP anzeigen
ImagePng ($img);
imagecreatefrompng($img);
ImageDestroy($img);
[/php]

-- ------------ -------------------------------------- ------------ -



22: So erhalten Sie die echte IP des Benutzers


PHP-Code:- --------------------------------------- ----------- -----------------------------

[php]
function iptype1 () {
if (getenv("HTTP_CLIENT_IP")) {
return getenv("HTTP_CLIENT_IP");
}
else {
return "none";
}
}
function iptype2 () {
if (getenv("HTTP_X_FORWARDED_FOR")) {
return getenv("HTTP_X_FORWARDED_FOR");
}
else {
return "none";
}
}
function iptype3 () {
if (getenv("REMOTE_ADDR")) {
return getenv("REMOTE_ADDR");
}
else {
return "none" ;
}
}
function ip() {
$ip1 = iptype1();
$ip2 = iptype2();
$ip3 = iptype3();
if (isset($ip1) && $ip1 != "none" && $ip1 != "unknown") {
return $ip1;
}
elseif (isset($ip2) && $ip2 ! = "none" && $ip2 != "unknown") {
return $ip2;
}
elseif (isset($ip3) && $ip3 != "none" && $ip3 != "unknown ") {
return $ip3;
}
else {
return "none";
}
}

Echo ip();
[ /php]
---------------- ------ ------------------------------------



23: So lesen Sie alle Datensätze innerhalb von drei Tagen aus der Datenbank

Zunächst muss in der Tabelle ein DATETIME-Feld vorhanden sein, um die Uhrzeit aufzuzeichnen,
im Format „2003-7“. -15 16:50:00'

SELECT * FROM `xltxlm` WHERE TO_DAYS(NOW()) - TO_DAYS(`date`) <= 3;


24: So stellen Sie eine Remote-Verbindung zur MySQL-Datenbank her


In der MySQL-Tabelle gibt es ein Hostfeld zum Hinzufügen von Benutzern. Ändern Sie es in „%“ oder geben Sie die IP-Adresse an, die die Verbindung zulässt, damit Sie dies tun können Ferngespräche führen.

$link=mysql_connect("192.168.1.80:3306","root","");


25: So verwenden Sie reguläre Ausdrücke

Klicken Sie hier
Sonderzeichen in regulären Ausdrücken


26: Nach der Verwendung von Apache erscheint die Homepage verstümmelt


Methode 1:
AddDefaultCharset ISO-8859-1 Change Methode 2 für AddDefaultCharset aus

:
AddDefaultCharset GB2312
============================== =========================
Tipp:
Wenn Sie den Code posten, wird GB2312 interpretiert als????? ?

Ändern Sie es so und es wird nicht passieren
GB2312

10: So vergleichen Sie die Anzahl der Tage zwischen zwei Daten (einfacherer Algorithmus)


PHP-Code: ------------------------------ ------ ----------------------------------

[php]
$Date_1="2003-7-15";//Es kann auch sein: $Date_1="2003-7-15 23:29:14";
$Date_2="1982-10-1";
$d1=strtotime($Date_1) ;
$d2=strtotime($Date_2);
$Days=round(($d1-$d2)/3600/24);
Echo " Ich habe seit $Days Tagen gekämpft^_^" ;
[/php]

------------------------- ----------------------- ------------- -----------------------
round(123.456 ,2) = 123.46
ROUND ( numeric_expression , length )

round (123,456,-2) =100

Wenn die Länge eine positive Zahl ist, wird numeric_expression auf die durch die Länge und Anzahl der Ziffern angegebene Dezimalzahl gerundet. Wenn die Länge eine negative Zahl ist, wird numeric_expression auf die linke Seite des durch die Länge angegebenen Dezimalpunkts gerundet. - ------                                                                                                                                                                                                                           123,45), CEILING(-123,45), CEILING(0,0)

Das Folgende ist die Ergebnismenge:

------- -- - --------- - -- ---------------- 

124                                                                                                                                      =========== ==================================== ==

27: Warum Einfache Anführungszeichen und doppelte Anführungszeichen werden auf der Akzeptanzseite zu ('")?


Lösung:
Methode 1: In php.ini festlegen: magic_quotes_gpc = Off
Methode 2: $str= stripcslashes($str)


28: So halten Sie das Programm am Laufen, anstatt nach 30 Sekunden anzuhalten


set_time_limit(60)//Die maximale Laufzeit beträgt eine Minute
set_time_limit(0)//Laufen, bis das Programm von selbst endet, oder manuell stoppen


29: Berechnen Sie die Anzahl der Personen, die derzeit online sind

Beispiel 1: Verwenden Sie Text, um

PHP-Code implementieren:--------------------------------- ------- -------------------------------------------

[ php]
//Zunächst müssen Sie die Berechtigung zum Lesen und Schreiben von Dateien haben
//Dieses Programm kann direkt ausgeführt werden. Wenn ein Fehler zum ersten Mal gemeldet wird, kann es später ausgeführt werden
$online_log = "count.dat" ; //Datei mit der Anzahl der Personen speichern,
$timeout = 30; //Keine Aktion innerhalb von 30 Sekunden, sie gilt als offline
$entries = file($online_log );

$temp = array ();

für ($i=0;$i$entry = explosion(",",trim($entries[$i]));
if (($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time ())) {
array_push($temp,$entry[0].",".$entry[1]."n"); //Informationen anderer Viewer abrufen, die Timeout-Viewer entfernen und speichern it in $temp
}
}

array_push($temp,getenv('REMOTE_ADDR').",".(time() ($timeout))."n"); /Viewer-Zeit aktualisieren
$users_online = count($temp); //Anzahl der Personen online berechnen

$entries = implode("",$temp);
//In Datei schreiben
$fp = fopen($online_log,"w");
flock($fp,LOCK_EX); //flock() funktioniert in NFS und anderen Netzwerkdateisystemen nicht richtig
fputs($fp , $entries);
flock($fp,LOCK_UN);
fclose($fp);

echo „Derzeit gibt es“.$users_online.“Menschen sind online“;

[/php]
------------------------------------------------------ ----- -------------------------------------

Beispiel 2 : Verwenden Sie
Datenbankimplementierung für Online-Benutzer


30: Was ist eine Vorlage und wie wird sie verwendet


Hier finden Sie mehrere Artikel über Vorlagen

Ich verwende die phplib-Vorlage
Im Folgenden sind die Verwendungen mehrerer Funktionen aufgeführt

$T->Set_File("Any definition", "Template file.tpl");

$T->Set_Block( „Definiert in set_file“, „“, „Nach Belieben definiert“);

$T->Parse(“ Definiert in Set_Block"," ",true);

$T->Parse("Geben Sie das Ergebnis nach Ihren Wünschen aus", "Definiert in Set_File") ;

Stellen Sie das Schleifenformat auf:



Wie um eine statische Webseite aus einer Vorlage zu generieren

PHP-Code:-------------------------------- --------------------------------------------------- ----

[php]
// Hier wird die phplib-Vorlage verwendet
............
........ ....
$tpl->parse("output","html ");
$output = $tpl->get("output");// $output ist die gesamte Webseite content


function wfile($file,$content,$mode= 'w') {
$oldmask = umask(0);
$fp = fopen($file, $ mode);
if (!$fp) return false;
fwrite($fp ,$content);
fclose($fp);
umask($oldmask);
return true ;
}
// In Datei schreiben
Wfile($FILE, $output);
header("location:$FILE");//Zur generierten Webseite weiterleiten
}
[/php]
---------- ------------------------------ -------------------- -------------------



phplib-Download-Adresse Smarty-Download-Adresse


31: So verwenden Sie PHP, um Zeichen zu interpretieren

Zum Beispiel: Geben Sie 2 2*(1 2) ein und geben Sie automatisch 8 aus
. Sie können die Eval-Funktion

PHP-Code verwenden: ----------- ------------------------ -------------------------- -------------------




[php]
$str=$_POST['str'];
eval("$ o=$str;");
Echo "$o";
[/php]

-------------------------- ------------------- ---------------- ----------


Darüber hinaus müssen Sie bei der Verwendung dieser Funktion besonders vorsichtig sein!!
Was wird das Ergebnis sein, wenn jemand das Format: d: eingibt?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn