如何使用 PHP 将大文件从网络上的某个位置下载到 Web 服务器上?此外,服务器上应允许哪些操作才能实现此操作?谢谢。
答案1
您需要在 PHP 上安装 CURL 模块。
然后在服务器上创建一个文件夹来保存下载的文件并设置写入权限,以便 Web 服务器可以写入该文件夹。然后只需修改此 PHP 脚本即可下载您想要的任何文件,只需更改 URL 和目标文件名(我的示例下载适用于 Mac 的 Opera 10 磁盘映像):
<?php
$url = 'http://www.opera.com/download/get.pl?id=32242&location=238¬hanks=yes&sub=marine';
$filename = 'temp/opera.dmg';
$fp = fopen($filename,'w+');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
CURLOPT_TIMEOUT 设置 CURL 下载文件可以使用的最长时间,另请注意,如果下载需要很长时间才能完成,则可能需要修改 php.ini 中的 PHP 执行超时。