如何使用PHP代码从服务器下载文件

3
如何从PHP代码中从任何服务器下载文件?

1
请查看此页面 http://php.net/manual/zh/function.fpassthru.php - psalvaggio
能否再详细说明一下?仅提供一个没有解释的链接并不是一个真正的答案。 - David
对于大多数小到中等大小的文件下载,fpassthru() 是通过 HTTP 发送文件的一种方便方式。本页面示例 #1 中的代码应该是一个相当简单的解决方案。 - psalvaggio
1个回答

5
你可以使用Curl和PHP从网上下载文件。
function curl_get_file_contents($URL) {
  $c = curl_init();
  curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($c, CURLOPT_URL, $URL);
  $contents = curl_exec($c);
  $err  = curl_getinfo($c,CURLINFO_HTTP_CODE);
  curl_close($c);
  if ($contents) return $contents;
  else return FALSE;
}

将URL传递给此函数,以下载内容。或者您可以使用文件阅读器/写入器。
private function downloadFile ($url, $path) {
  $newfname = $path;
  $file = fopen ($url, "rb");
  if ($file) {
    $newf = fopen ($newfname, "wb");
    if ($newf)
    while(!feof($file)) {
      fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
    }
  }
  if ($file) {
    fclose($file);
  }
  if ($newf) {
    fclose($newf);
  }
} 

from : This stack question


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接