2017-04-18 3 views
0

Hallo, ich versuche PHP file_put_contents zu verwenden, um eine Rasterdatei auf meinem lokalen Laufwerk zu speichern. Die Raster-Datei wird durch die curl-Anforderung erfasst, der URL-Link funktioniert einwandfrei, wenn er mit dem Browser geöffnet wird (die Datei kann heruntergeladen werden), aber der Datei_Put_Inhalt speichert nichts im Ordner. Unten ist mein PHP-Pseudo-Code:file_put_contents speichert die Datei nicht

$ch = curl_init(working_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$save = curl_exec($ch); 
curl_close($ch); 
file_put_contents($path_of_file, $save); 

Ich habe 777 chmod und die volle Schreib haben und in den Ordner gelesen und der Speicherpfad korrekt ist.

+0

Geben Sie bitte das Lockenergebnis an, die URL auch – Peter

+0

Was gibt 'file_put_contents' zurück? habe einen Wert? – Eknoes

+0

Ist der Ordner, den Sie schreiben, schreibbar durch den Webserver? – gabe3886

Antwort

0

Versuchen Sie folgendes:

$save = file_get_contents($working_url); 
file_put_contents($path_of_file, $save); 

Und überprüfen Sie bitte:

  • Sie den Zielordner schreiben kann
  • Sie die richtigen Inhalte in $ haben speichern variable

Vielleicht bieten uns die URL, um es zu überprüfen.

+0

danke für die Formatierung – Peter

+0

Tun oder nicht. Es gibt kein "Versuch". Eine *** gute Antwort *** wird immer eine Erklärung haben, was getan wurde und warum es so gemacht wurde, nicht nur für das OP, sondern auch für zukünftige Besucher von SO. –

+0

Vielen Dank für den Vorschlag, ich habe nur einen kurzen Versuch und es funktioniert immer noch nicht ... Ich habe die volle Berechtigung für den Ordner, und ich habe dieses Mal erneut die URL überprüft, funktioniert immer noch gut aus dem Browser:/ –

1

Also habe ich das Problem herausgefunden, es war ein Pfadproblem; Ich verwende Javascript in meiner index.html, um Informationen zu meiner php Datei zu ajaxieren; curl in php-datei ausgeführt, daten heruntergeladen und den location-pfad zurück zu index.html im json-datenstrom gebracht. Weil meine Datenstruktur, der Pfad zurück zu meiner index.html zurückgegeben wird, ist nicht der richtige Pfad (ich habe "../../filesave". Danke an alle für die Hilfe!

In der Zukunft, wenn jemand ähnliches Problem hatte Überprüfen Sie zuerst den Speicherpfad und überprüfen Sie, ob die Schreib- und Leseberechtigung für den Arbeitsbereich vorhanden ist.

Verwandte Themen