2012-03-17 4 views
59

書き込み可能な接続をサポートしていませんが、それは私にこのエラーを示している: - 私は個人的に内容が保存受けることを感じて何は、ストリームをオープンに失敗しました:HTTPラッパーは、私は私のウェブサイトに私のlocalhostのファイルをアップロードした

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

キャッシュフォルダー内のファイルと私はファイルを自分のWebサーバーにアップロードしたときに、キャッシュされたlocalhostフォルダーにアクセスしようとしています。

答えて

119

file_put_contents(***WebSiteURL***...)の代わりに、サーバーパスを/cache/lang/file.php(例:/home/content/site/folders/filename.php)にする必要があります。

HTTPを超えてファイルを開くことはできません。代わりに、ローカルパスを使用してそれを開く必要があります。

+0

それは私がアマゾンウェブサービスのS3のストレージ領域を使用しています –

+0

多くの多くのおかげで働きました。私はサーバーのパスを持っていませんが、URLだけです。 **どのようにパスを取得するには?** –

+0

(エクセレント答え+ 1)おかげでたくさん:)あなたのための3人の歓声... – Neocortex

13

fopen()関数を使用できます。

いくつかの例は:。

$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

ありがとうございます。私は多くのソリューションを試しましたが、これが私のために働く唯一のソリューションです。 – moreirapontocom

+0

問題はありません:D:D –

関連する問題