2012-03-17 28 views
59

He subido mis archivos localhost a mi sitio web, pero me muestra este error: -failed to open stream: HTTP envoltura no soporta conexiones grabables

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

lo que siento personalmente que los contenidos se guardan en un archivo en la carpeta de caché y cuando cargué los archivos en mi servidor web está intentando acceder a la carpeta localhost en caché.

Respuesta

119

En lugar de hacer file_put_contents(***WebSiteURL***...), debe utilizar la ruta del servidor al /cache/lang/file.php (por ejemplo, /home/content/site/folders/filename.php).

No puede abrir un archivo sobre HTTP y espera que se escriba. En su lugar, debe abrirlo utilizando la ruta local.

+0

Se trabajó muchas gracias :) Tres vivas para usted ... –

+0

Muchas Muchas gracias (+ 1 para una respuesta excelente) –

+0

estoy usando Amazon S3 área de almacenamiento de servicios web.. No tengo la ruta del servidor, solo la URL. ** ¿Cómo obtener la ruta? ** – Neocortex

13

puede usar la función fopen().

algún ejemplo:

$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

Muchas gracias. Intenté muchas soluciones, pero esto es lo único que funcionó para mí. – moreirapontocom

+0

No hay problema: D: D –

Cuestiones relacionadas