failed to open stream: HTTP wrapper does not support writeable connections

前端 未结 3 1412
小蘑菇
小蘑菇 2020-11-28 07:50

I have uploaded my localhost files to my website but it is showing me this error:-

: [2] file_put_contents( ***WebsiteURL*** /cache/lang/ ***FileName*** .php         


        
相关标签:
3条回答
  • 2020-11-28 08:21

    Instead of doing file_put_contents(***WebSiteURL***...) you need to use the server path to /cache/lang/file.php (e.g. /home/content/site/folders/filename.php).

    You cannot open a file over HTTP and expect it to be written. Instead you need to open it using the local path.

    0 讨论(0)
  • 2020-11-28 08:33

    you could use fopen() function.

    some example:

    $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);
        }
    
    0 讨论(0)
  • 2020-11-28 08:34

    May this code help you. It works in my case.

    $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);
    
    0 讨论(0)
提交回复
热议问题