PHP file_put_contents funktioniert nicht

tobias1985

Der Erlöser
ID: 37913
L
24 April 2006
4.963
607
Hallo zusammen,
ich habe mir gerade ein kleines Script gebastelt:

PHP:
<?php
$silver_extern = file_get_contents('https://www.ag-edelmetalle.de/grafiken/silber-dollar-24-stunden/344x228.png');

file_put_contents('/silver_charts/'.date('Ymd').'.png', $silver_extern);
?>

file_get_contents scheint zu funktionieren. Wenn ich mir $silver_extern ausgeben lasse, bekomme ich den Inhalt der PNG-Datei angezeigt.

file_put_contents sollte dann die Datei eigentlich abspeichern. Allerdings passiert einfach nichts. Keine Fehlerausgabe.
Ein echo davor gibt auch nichts aus. Sollte ja aber eigentlich die Anzahl der Bytes ausgeben, die geschrieben wurden. Oder eben im Fehlerfall false. Aber auch das bekomme ich nicht.

Steh ich auf dem Schlauch? Hat jemand einen Tipp?
Ich möchte im Prinzip nur bei Aufruf des Scripts, dass die externe Grafik bei mir auf den Server gespeichert wird.

Danke schonmal für eure Hilfe. :)
 
Wenn file_put_contents() wegen Fehler ein false gibt, siehst du das mit dem echo nicht.

Sicher, dass dein ErrorReporting richtig gesetzt is, dass du alle Fehlermeldungen siehst? Evtl. OutputBuffering an?
 
Na dann wird wohl ein Fehler aufgetreten sein, das Script wurde beendet und du hast die Ausgabe von Fehlermeldungen deaktiviert.
 
Ich hatte folgendes drin:
PHP:
error_reporting(E_ALL);

Trotzdem keine Fehlerausgabe.

Nun hab ich noch folgendes drunter:
PHP:
ini_set("display_errors", 1);

Und siehe da. Ich bekomme den Fehler angezeigt. :ugly:

Warning: file_put_contents(): Unable to access /silver_charts/20101019.png in /srv/www/vhosts/url/httpdocs/getsilverchart.php on line 6 Warning: file_put_contents(/silver_charts/20101019.png): failed to open stream: No such file or directory in /srv/www/vhosts/url/httpdocs/getsilverchart.php on line 6

PHP-Doku sagt doch aber:
If filename does not exist, the file is created. Otherwise, the existing file is overwritten

:-?
 
Jep. Habs nun auch.
Der erste / war unnötig und CHMOD hat gefehlt.

Manchmal steht man wirklich auf dem Schlauch. :ugly:
 
Nur die Datei wird verzeugt, nicht das Verzeichnis. Das muss schon da sein.
 
Warum versuchen leute mit "direkter adressierung" (pfadangabe) im root verzeichnis zu speichern ????
Das war glaub ich schon der 2te in 7 tagen mit dem gleichen problem.

man o man
 
Weil es funktioniert?! Wie gesagt hatte ich nur aus versehen ein vorangestellten Slash und zuätzlich den CHMOD vergessen. ;)