Teil von  SELFPHP
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Grundlegende Informationen

Am Ende der Seite finden Sie das komplette Beispiel als Download.


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.

1:
2:
3:
<?PHP
phpinfo
();
?>

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

extension=php_curl.dll

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)



Zurück zur Übersichtsseite


 




:: Premium-Partner ::

Webhosting/Serverlösungen

Pixel X weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Microsoft Deutschland GmbH weitere Sponsoren
 


:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Metatags auslesen

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


PHP5 Klasse für Alexa Web Information Service

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de