从URL下载文件到服务器

从URL下载文件到服务器

嗯,这个看起来很简单,而且确实如此。要将文件下载到服务器,所需做的就是:

file_put_contents("Tmpfile.zip", file_get_contents("http://someurl/file.zip"));

只有一个问题。如果你有一个很大的文件,比如100 MB。然后,您将耗尽内存,无法下载该文件。

我想要的是一种在下载文件时将文件写入磁盘的方法。这样,我可以下载更大的文件,而不会遇到内存问题。


皈依舞
浏览 1572回答 3
3回答

白衣染霜花

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);     }}
打开App,查看更多内容
随时随地看视频慕课网APP