:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Grundlegende Informationen |
Wir wollen Ihnen in diesem Kapitel zeigen, wie Sie mit der Bibliothek libcurl
mit anderen Servern in Verbindung treten. Dabei haben Sie bereits eine große
Auswahl an verschiedenen Protokollen für die Verbindung zu den anderen
Servern. Folgende Protokolle werden in dieser Bibliothek unterstützt:
- http
- https
- ftp
- gopher
- telnet
- dict
- file
- ldap
Darüber hinaus unterstützt diese Bibliothek folgende Methoden:
- HTTPSZertifikate
- HTTP POST
- HTTP PUT
- Upload von Dateien unter Benutzung von FTP
- HTTPUploads
über Formulare
- Proxys
- Cookies
- Authentifikation mit Benutzername und Passwort
Um zu testen, ob auf Ihrem Server die CURL-Bibliothek
installiert ist, erstellen
Sie eine PHPDatei
mit folgendem Inhalt und rufen diese Datei im Browser auf.
Sollte die CURL-Bibliothek
installiert sein, finden Sie auf der Seite einen Eintrag
(siehe Abbildung 10.1 auf der nächsten Seite) in folgender Form (Versionen
von libcurl können hier variieren):
Falls Sie als Testserver einen Windows-Rechner
benutzen, müssen Sie die
Dateien libeay32.dll und ssleay32.dll aus dem PHP-DLL-Verzeichnis
in das
system32-Verzeichnis
von Windows kopieren. Weiterhin müssen Sie folgenden
Eintrag in Ihrer php.ini-Datei
auskommentieren.
Abbildung 10.1: curl
Sie müssen danach lediglich noch Ihren Webserver neu starten und sehen
dann in Ihrer phpinfo()-Ausgabe
die zuvor gezeigte Ausgabe für die CURL-Installation.
Sie können sich jederzeit ein Array mit den aktuellen Informationen der letzten
CURL-Anfrage
zurückgeben lassen. Im Beispiel FTP-Upload
mit CURL sehen Sie
so ein Array. Dieses kann oft sehr nützlich sein, um sich eventuell bei einem
Upload z. B. die durchschnittliche Übertragungsgeschwindigkeit anzeigen zu
lassen.
Sie sehen nachfolgend ein Beispiel-Array
und im Anschluss daran die Erklärung
zu den einzelnen Feldern.
Inhalt des Arrays $info
Array
(
[url] => ftp://ftp3782637:km63TgD@nureinbeispiel4.de:21/www/curlftp/'
pecl5.1.2Win32.zip
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => 1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.79
[namelookup_time] => 0
[connect_time] => 0.011
[pretransfer_time] => 0.126
[size_upload] => 1708643
[size_download] => 0
[speed_download] => 0
[speed_upload] => 2162839.2405063
[download_content_length] => 0
[upload_content_length] => 1708643
[starttransfer_time] => 0.126
[redirect_time] => 0
) |
Bedeutung der Felder
- CURLINFO_EFFECTIVE_URL
die letzte abgearbeitete URL
- CURLINFO_HTTP_CODE
der letzte empfangene HTTPCode
- CURLINFO_FILETIME
die Zeit in Sekunden für den Empfang des Dokuments (1,
wenn die Zeit
nicht bekannt ist)
- CURLINFO_TOTAL_TIME
die Dauer der letzten Transferzeit in Sekunden
- CURLINFO_NAMELOOKUP_TIME
die Zeit in Sekunden, um den Hostnamen aufzulösen
- CURLINFO_CONNECT_TIME
die Zeit in Sekunden für den Verbindungsaufbau
- CURLINFO_PRETRANSFER_TIME
die Zeit in Sekunden zwischen dem Start und dem Beginn des Empfangs
- CURLINFO_STARTTRANSFER_TIME
die Zeit in Sekunden bis zur ersten ByteÜbertragung
- CURLINFO_REDIRECT_TIME
die Zeit in Sekunden bis zum eigentlichen Transferbeginn
- CURLINFO_SIZE_UPLOAD
die Anzahl der Byte bei einem Upload
- CURLINFO_SIZE_DOWNLOAD
die Anzahl der Byte bei einem Download
- CURLINFO_SPEED_DOWNLOAD
die durchschnittliche DownloadGeschwindigkeit
- CURLINFO_SPEED_UPLOAD
die durchschnittliche UploadGeschwindigkeit
- CURLINFO_HEADER_SIZE
die Gesamtgröße aller empfangenen Header
- CURLINFO_REQUEST_SIZE
die Gesamtgröße aller Abfragen (momentan nur bei HTTP)
- CURLINFO_SSL_VERIFYRESULT
das Ergebnis der SSLZertifikatsüberprüfung,
erfordert das Setzen von CURLOPT_SSL_VERIFYPEER
- CURLINFO_CONTENT_LENGTH_DOWNLOAD
holt das ContentLengthFeld
aus dem HTTPHeader
beim Download
- CURLINFO_CONTENT_LENGTH_UPLOAD
die festgesetzte Größe bei einem Upload
- CURLINFO_CONTENT_TYPE
holt das ContentTypeFeld
aus dem HTTPHeader
beim Download (NULL,
Header wurde nicht gesendet)
Dieses Skript aus dem SELFPHP KOCHBUCH wurde von SELFPHP unter dem "Tarif Mc500" von McAc.net-Webhosting erfolgreich ausgeführt und getestet!
Auf der Übersichtseite unter "McAc.net – Webhosting zu diesem Buch" finden Sie weitere Informationen zu dem Webhostingpaket, dass durch SELFPHP getestet wurde.
|
|
|
|
|
|