基本上,当某个页面加载时,我希望能够自动将文件从服务器复制到我的计算机上的本地目录。这就是我得到的:
<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所以我认为这会有效吗?
答案 0 :(得分: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标志可能会让它起作用,但我对此表示怀疑。
答案 1 :(得分: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);
答案 2 :(得分:0)
首先,感谢所有试图解决我的困境的人,并对延迟回复感到抱歉。
我发现最简单的方法是简单地制作一个javascript函数“Copy”,然后在本地机器上运行一个批处理文件/类似wget的程序。它需要Internet Explorer,但这就是我们正在使用的。
无论如何,我只是为那些可能遇到同样问题的其他人发布我们的解决方案。再次感谢!