【发布时间】:2012-06-13 01:39:14
【问题描述】:
好的,我有一个问题希望你能帮我解决。
我正在运行一个服务器,该服务器存储非常大的视频文件,有些高达 650 MB。我需要用户能够请求此页面并将文件下载到他们的机器上。我已经尝试了一切,但是一个普通的 readfile() 请求在退出前挂起大约 90 秒,并给了我一个“没有收到数据错误 324 代码”,我从几个网站找到的一个分块的 readfile 脚本甚至没有开始下载,当我试图获取文件时,通过 PHP 解决方案的 FTP 什么也没做,只是给了我错误,而我发现的唯一 cURL 解决方案只是在我的服务器上创建另一个文件。这不是我需要的。
明确我需要用户能够下载文件到他们的计算机和不发送到服务器。
我不知道这段代码是垃圾还是只需要一两次调整,但感谢任何帮助!
<?php
$fn = $_GET["fn"];
echo $fn."<br/>";
$url = $fn;
$path = "dl".$fn;
$fp = fopen($path, 'w');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
【问题讨论】:
-
ftp 是专为文件传输而设计的 http 不是那么多
-
那么您有使用 ftp 的解决方案吗?我也试过了,但每次我尝试通过 ftp(使用 PHP)连接和下载时,页面什么也没做,只是给我一个错误。
-
在您的服务器上设置 ftp 服务器,提供用户凭据。不需要 php
-
你能给我一些示例 PHP 代码吗?就像我说的那样,我已经尝试过了,但是每次它到达应该“下载”文件的地步时,它都会返回一个错误。
-
他的意思是把网络服务器从解决方案中去掉,只用一个FTP客户端连接到一个FTP服务器。
标签: php curl download large-files