file_put_contents wird nicht überschrieben / Kontextoption zum Überschreiben nicht angegeben

file_put_contents wird nicht überschrieben / Kontextoption zum Überschreiben nicht angegeben

Ich habe gehört, dass file_put_contents die Datei überschreibt, wenn sie existiert? Das ist, was ich will, aber es funktioniert nicht. Was tun?

  $contentsAnnonces = file_get_contents("http://website1.fr/file.xml");
  $filename = "http://website2.fr/file.xml";
  file_put_contents($filename, $contentsAnnonces);

Fehler :

Remote-Datei ist bereits vorhanden und Kontextüberschreiboption nicht angegeben

Antwort1

Sie können nicht mit in HTTP schreiben file_put_contents().

Von demfile_put_contents()Dokumentation:

Mit dieser Funktion kann eine URL als Dateiname verwendet werden, wenn dieFopen-Wrapperaktiviert wurden. Siehefopen()Weitere Informationen zum Angeben des Dateinamens finden Sie imUnterstützte Protokolle und Wrapperfür Links mit Informationen über die Fähigkeiten der verschiedenen Wrapper, Hinweise zu ihrer Verwendung und Informationen zu allen vordefinierten Variablen, die sie möglicherweise bereitstellen.

Und vonPHPs Beschreibung des HTTP-Protokolls(Hervorhebung von mir):

ErlaubtNur-Lese-Zugriffauf Dateien/Ressourcen über HTTP 1.0 unter Verwendung der HTTP-GET-Methode.

file_put_contents()schreibt in eine Datei, kann dies aber nicht über HTTP tun, da der Wrapper HTTP nur mit GET lesen kann.


Sie benötigen einen anderen Ansatz, um Ihre Ziele zu erreichen.

Aus dem Dokumentstammverzeichnis von können Sie ein Skript schreiben, das nach dem Abrufen der Datei von website2.frin schreibt .file.xmlhttp://website1.fr/file.xml

Beispiel:

<?php
$contentsAnnonces = file_get_contents("http://website1.fr/file.xml");
file_put_contents(ORIGINE_DU_DOCUMENT . "/file.xml", $contentsAnnonces);

… wo ORIGINE_DU_DOCUMENTist der Pfad zum Dokumentstamm auf der Site website2.fr.

Wenn Sie das Skript ausführen, http://website2.fr/file.xmlist der Inhalt von identisch mit dem http://website1.fr/file.xmlüber HTTP abgerufenen Inhalt.

verwandte Informationen