2012-03-17 12 views
59

ho caricato i miei file localhost al mio sito web, ma mi sta mostrando questo errore: -non è riuscito ad aprire flusso: HTTP involucro non supporta le connessioni scrivibili

: [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 

ciò che io personalmente ritengo che i contenuti vengono salvati in un file nella cartella cache e quando ho caricato i file sul mio server web sta tentando di accedere alla cartella localhost memorizzata nella cache.

risposta

119

Invece di eseguire file_put_contents(***WebSiteURL***...) è necessario utilizzare il percorso del server per /cache/lang/file.php (ad esempio /home/content/site/folders/filename.php).

Non è possibile aprire un file oltre HTTP e aspettarsi che venga scritto. Invece è necessario aprirlo utilizzando il percorso locale.

+0

Ha funzionato grazie mille :) Viva per voi ... –

+0

molte grazie (+ 1 per una risposta eccellente) –

+0

Sto usando amazon area di stoccaggio WebServices s3.. Non ho il percorso del server ma solo l'URL. ** Come ottenere il percorso? ** – Neocortex

13

è possibile utilizzare la funzione fopen().

alcuni esempi:

$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); 
    } 
+1

Grazie mille. Ho provato un sacco di soluzioni, ma questo è l'unico che ha funzionato per me. – moreirapontocom

+0

Nessun problema: D: D –

Problemi correlati