-1

基本的に、特定のページが読み込まれたときに、サーバーからコンピューターのローカルディレクトリにファイルを自動的にコピーできるようにしたいです。これは私が得たものです:

<body>
<?php
copy('http://photobooth.josh.com/gsbackgrounds/0001/greenscreen_background.jpg', 'C:\Program Files (x86)\BreezeSys\DSLR Remote Pro\PhotoboothImages\greenscreen_background.jpg');
?>
</body>

しかし、それは機能していないようです。クリックでそれを行う必要がある場合も機能しますが、行き詰まります。サーバーにはPHP5があるので、これでうまくいくと思いましたか?

4

3 に答える 3

1

これを行う簡単な方法は、次のことです。

// A simple method requiring allow_url_fopen
$file_contents = file_get_contents($resource_url);

// An alternative method requiring cURL
$ch = curl_init($resource_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$file_contents = curl_exec($ch);

file_put_contents($local_file_path, $file_contents);

copy()これは、リモートアイテムをサポートしていないシステムコールに対応していると思います。allow_url_fopenフラグを変更すると機能する可能性がありますが、私はそれを疑っています。

于 2012-05-31T18:53:28.090 に答える
0

あなたはfopenを行うことができます。

   $contents = file_get_contents('http://****.com/file.jpg');
   $handle =  fopen('yourfilename.jpg',"w");
   fwrite($handle,$contents);
   fclose($handle);  

または、ダウンロード用にcurlを試してください。

http://phpsense.com/2007/php-curl-functions/

/**
 * Initialize the cURL session
 */
 $ch = curl_init();

 /**
 * Set the URL of the page or file to download.
 */
 curl_setopt($ch, CURLOPT_URL, ‘http://news.google.com/news?hl=en&topic=t& output=rss’);

 /**
 * Ask cURL to return the contents in a variable instead of simply echoing them to  the browser.
 */
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

 /**
 * Execute the cURL session
 */
 $contents = curl_exec ($ch);

 /**
 * Close cURL session
 */
 curl_close ($ch);
于 2012-05-31T18:58:08.120 に答える
0

まず、私のジレンマを解決しようとしたすべての人に感謝し、応答が遅れたことをお詫びします。

これを行う最も簡単な方法は、javascript関数を「コピー」してonClickでローカルマシン上でバッチファイル/wgetのようなプログラムを実行することです。Internet Explorerが必要ですが、それが私たちが使用しているものです。

とにかく、私はこの同じ問題に遭遇するかもしれない他の誰かのために私たちの解決策を投稿しているだけです。再度、感謝します!

于 2012-06-01T02:51:17.033 に答える