Heim >Backend-Entwicklung >PHP-Tutorial >Implementieren Sie die Werberotation mit PHP
Online-Werbung ist zu einem heißen Thema im Internet geworden. Und 468x60 ist zu einer Größe geworden, über die sich Werbemitarbeiter den Kopf zerbrechen.
Bei der Verarbeitung von Anzeigen wäre es sehr praktisch, wenn Sie die 468x60-Bilddateien der Anzeigen direkt über den Browser an den Server senden könnten, der die Anzeigen verarbeitet. Sie müssen das FTP-Programm nicht öffnen und die meisten Ausgaben tätigen der Tag nur zum Hochladen.
Dieses Problem ist das Problem aller Web-CGI-Programme, einschließlich ASP, Prel ... usw., das nur durch Hinzufügen von Systemkomponenten gelöst werden kann. Bekannt als das leistungsstärkste Web-CGI-Programm: PHP, ist seine Leistung in dieser Hinsicht nicht enttäuschend und übertrifft sogar andere CGI-Tools.
Die Datei-Upload-Funktion ist im RFC 1867-Dokument detailliert beschrieben und verwendet ein spezielles Dateiformat (Inhaltstyp) Multipart/Formulardaten. Es ist zu beachten, dass der Browser zum Hochladen von Dateien Netscape 3.0 oder höher oder MS Internet Explorer 4.0 oder höher sein muss.
Sehen Sie sich zunächst den folgenden HTML-Quellcode an
< form enctype='multipart/form-data' action='next.php' method=post > 您的大名: < input type=text name=user >< br > 档案名称: < input name='myfile' type='file' >< br > < input type='submit' value='送出' > < /form >
Fügen Sie im Formular-Tag die Zeichenfolge enctype='multipart/form-data' hinzu, um die vom Benutzer eingegebenen Daten darzustellen Hochzuladende Dateien und die Methode muss POST anstelle von GET verwenden.
Wenn im obigen Code der Name des Benutzers in Wilson Peng eingegeben und die Datei c:myphoto.gif ausgewählt wird, sendet der Browser, nachdem der Benutzer auf die Schaltfläche „Senden“ geklickt hat, das folgende POST-Material.
Content-type: multipart/form-data, boundary=AaB03x --AaB03x content-disposition: form-data; name='user' Wilson Peng --AaB03x content-disposition: form-data; name='myfile' Content-type: multipart/mixed, boundary=BbC04y --BbC04y Content-disposition: attachment; filename='myphoto.gif' Content-type: image/gif Content-Transfer-Encoding: binary ...myphoto.gif 内容略... --BbC04y-- --AaB03x--
Im obigen Material ist „boundary=AaB03x“ die Nachricht, die das Material in verschiedenen Feldern hinterlässt. Die Codierungsmethode von AaB03x variiert je nach Version des Browsers. Sie wird normalerweise durch Browser-Hash generiert. von. Dann können Sie sehen, dass --AaB03x zum Trennen verschiedener Felder verwendet wird.
Im obigen Beispiel generiert das Aktionsprogramm next.php, das das Formular verarbeitet, automatisch vier Variablen, siehe Tabelle unten
Erklärung der Variablennamen
$myfile ist die hochgeladene Datei Inhalt
$myfile_name Der Name der hochgeladenen Datei im Benutzernamen
$myfile_size Die Größe der hochgeladenen Datei
$myfile_type Das Format der hochgeladenen Datei, z. B. „image/gif“
In next.php Das Wichtigste für das Programm ist, diese vier Variablen gut zu nutzen, da sonst die vom Benutzer hochgeladenen Dateien verschwinden, sobald das Programm beendet wird. Daher müssen Sie zuerst $myfile in das Verzeichnis kopieren, in dem Werbebilder gespeichert sind
copy($banner,'/home1/biglobe3/ad/'.$banner_name);
Dieses Programm speichert die Datei im Verzeichnis /home/htdocs/ad. Im obigen Beispiel wird nur die Datei gespeichert zu /home/htdocs/ad/myphoto.gif. Wichtig ist, dass das Verzeichnis, in dem es gespeichert ist, kein Verzeichnis sein darf, das vom Webserver nicht gelesen werden kann, sondern in dem Verzeichnis abgelegt werden sollte, in dem sich die Homepage der Website befindet, damit sie im Internet sichtbar ist.