Die Wunderwelt von PHP und cURL

PHP kann eine Menge, und eine Menge sogar doppelt bis dreifach. Das öffnen entfernter Dateien kann mittels „normalem“ Dateihandling auch über die sogenannten fopen wrappers erfolgen. In diesem Fall wird zum Beispiel anstatt einer lokalen Datei auf der Festplatte eine URL oder ein FTP geöffnet. Die Sache hat nur einen Haken, man muss die Wrappers explizit in PHP rein compilieren was viele Hoster aus angeblichen Sicherheitsgründen erst gar nicht tun. Aber selbst wenn man die Wrapper zur Verfügung stehen hat, kann man an deren Grenzen stoßen, zum Beispiel dann, wenn URL-Seiten wild redirected werden.

cURL bei den codenden Katzen :)

In der Regel kann man also direkt cURL verwenden. Die Chance das dieses bei den Hostern existiert ist in der Regel größer als das die fopen wrappers eincompiliert worden sind. cURL wiederum macht im Default nichts, was man ihm nicht sagt. Dies kann wiederum sehr nervig werden wenn man dann eine entfernte Datei doch nicht aufrufen kann, aber in der Regel bekommt man es doch immer irgendwie hin. bei Cats who Code ist jetzt eine nette Snippet Sammlung aufgetaucht, die einige Beispiele zu cURL enthält. So enthält die Seite zum Beispiel auch ein Snippet um eine HTML-Seite mittels cURL in eine Variable zu speichern:

function file_get_contents_curl($url) {
	$ch = curl_init();
 
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_URL, $url);
 
	$data = curl_exec($ch);
	curl_close($ch);
 
	return $data;
}

Darüber hinaus gibt es Snippets für Twitter, zur Umrechnung von Währungen, FTP Upload und vielen mehr. Ich glaube ich habe alle diese Möglichkeiten in der einen oder anderen Form bereits eingesetzt und bin inzwischen so weit, auf die Wrapper komplett zu verzichten, und immer direkt cURL zu nehmen. Wenn ihr Unix / Mac habt, curl gibt es als Befehl übrigens auch in der Kommandozeile.

Ähnliche Beiträge

10 nützliche PHP Snippets PHP ist eine fast sinnvolle Programmiersprache bei der am Ende alles immer so endet, dass man die gleichen Aufgaben immer wieder erledigen muss. Insof...
mysql_connect vs. mysql_pconnect Es gibt durchaus Blog-Beiträge, von denen man glaubt oder hofft, dass man sie eigentlich nicht schreiben braucht, dieser ist einer davon! Da ich mich ...
Besseres Debugging in PHP Debugging in PHP ist das größte Arschloch von allen nicht schön. Wohl dem, der einigen Aufwand betrieben hat, um XDebug an den Start zu kriegen. Aber ...
Wasserzeichen mit PHP Image Workshop Eins mit Abstand besten Module für Drupal ist das Imagecache Modul. Ich habe mich ja schon des öfteren darüber ausgelassen wie schade es ist, das kein...

Ein Kommentar

Schreibe einen Kommentar