Ich habe meine localhost-Dateien auf meine Website hochgeladen, zeigt jedoch diesen Fehler an: -
: [2] file_put_contents( ***WebsiteURL*** /cache/lang/ ***FileName*** .php)
[function.file-put-contents]: failed to open stream: HTTP wrapper does
not support writeable connections | LINE: 127 | FILE: /home/content/
***Folders\FileName*** .php
Was ich persönlich glaube, dass der Inhalt in einer Datei im Cache-Ordner gespeichert wird, und wenn ich die Dateien auf meinen Webserver hochlade, versucht er, auf den zwischengespeicherten Localhost-Ordner zuzugreifen.
Anstelle von file_put_contents(***WebSiteURL***...)
müssen Sie den Serverpfad zu /cache/lang/file.php
(z. B. /home/content/site/folders/filename.php
) verwenden.
Sie können eine Datei nicht über HTTP
öffnen und erwarten, dass sie geschrieben wird. Stattdessen müssen Sie es über den lokalen Pfad öffnen.
sie könnten die Funktion fopen () verwenden.
ein Beispiel:
$url = 'http://doman.com/path/to/file.mp4';
$destination_folder = $_SERVER['DOCUMENT_ROOT'].'/downloads/';
$newfname = $destination_folder .'myfile.mp4'; //set your file ext
$file = fopen ($url, "rb");
if ($file) {
$newf = fopen ($newfname, "a"); // to overwrite existing file
if ($newf)
while(!feof($file)) {
fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
}
}
if ($file) {
fclose($file);
}
if ($newf) {
fclose($newf);
}
Möge dieser Code Ihnen helfen. Es funktioniert in meinem Fall.
$filename = "D:\xampp\htdocs\wordpress/wp-content/uploads/json/2018-10-25.json";
$fileUrl = "http://localhost/wordpress/wp-content/uploads/json/2018-10-25.json";
if(!file_exists($filename)):
$handle = fopen( $filename, 'a' ) or die( 'Cannot open file: ' . $fileUrl ); //implicitly creates file
fwrite( $handle, json_encode(array()));
fclose( $handle );
endif;
$response = file_get_contents($filename);
$tempArray = json_decode($response);
if(!empty($tempArray)):
$count = count($tempArray) + 1;
else:
$count = 1;
endif;
$tempArray[] = array_merge(array("sn." => $count), $data);
$jsonData = json_encode($tempArray);
file_put_contents($filename, $jsonData);