PHP 文件下载,求高手指点
functionftp_download($filename){$phpftp_host="192.168.0.170";$phpftp_port=21;$phpftp_...
function ftp_download($filename)
{
$phpftp_host = "192.168.0.170";
$phpftp_port = 21;
$phpftp_user = "admin";
$phpftp_passwd = "ruby9997";
$ftp_path = dirname($filename)."/ ";
$select_file = basename($filename);
$ftp =ftp_connect($phpftp_host,$phpftp_port);
if($ftp)
{
if(ftp_login($ftp,$phpftp_user,$phpftp_passwd))
{
if(@ftp_chdir($ftp,$ftp_path))
{
$tmpfile=tempnam(getcwd()."/ ","temp");
if(ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY))
{
ftp_close($ftp); // 关闭连接
header( "Content-Type: application/octet-stream ");
header( "Content-Disposition:attachment;filename=".$select_file);
readfile($tmpfile);
unlink($tmpfile); // 删除临时文件
exit;
}
unlink($tmpfile);
}
}
}
ftp_quit($ftp);
}
$down_server = $_GET['path'];
$filename = basename($down_server);
ftp_download($down_server);
以上这段代码运行在服务器上。(web服务器和ftp服务器是一台机器)
我使用这段代码下载服务器上的资源
问题是:我下其中一个120MB的文件,成功。
而下载133MB的文件以及更大的文件都会失败,下载到的是一个 xxxxx.php文件。
请问我应该怎么做? 展开
{
$phpftp_host = "192.168.0.170";
$phpftp_port = 21;
$phpftp_user = "admin";
$phpftp_passwd = "ruby9997";
$ftp_path = dirname($filename)."/ ";
$select_file = basename($filename);
$ftp =ftp_connect($phpftp_host,$phpftp_port);
if($ftp)
{
if(ftp_login($ftp,$phpftp_user,$phpftp_passwd))
{
if(@ftp_chdir($ftp,$ftp_path))
{
$tmpfile=tempnam(getcwd()."/ ","temp");
if(ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY))
{
ftp_close($ftp); // 关闭连接
header( "Content-Type: application/octet-stream ");
header( "Content-Disposition:attachment;filename=".$select_file);
readfile($tmpfile);
unlink($tmpfile); // 删除临时文件
exit;
}
unlink($tmpfile);
}
}
}
ftp_quit($ftp);
}
$down_server = $_GET['path'];
$filename = basename($down_server);
ftp_download($down_server);
以上这段代码运行在服务器上。(web服务器和ftp服务器是一台机器)
我使用这段代码下载服务器上的资源
问题是:我下其中一个120MB的文件,成功。
而下载133MB的文件以及更大的文件都会失败,下载到的是一个 xxxxx.php文件。
请问我应该怎么做? 展开
4个回答
展开全部
//给你个下载文件的代码吧
$file_name = "要下载的文件名";
$file_dir = dirname(__FILE__)."/";
$file = fopen($file_dir . $file_name,"r"); //打开文件
//输入文件标签
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize($file_dir . $file_name));
header("Content-Disposition: attachment; filename=" . $file_name);
//输出文件内容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
$file_name = "要下载的文件名";
$file_dir = dirname(__FILE__)."/";
$file = fopen($file_dir . $file_name,"r"); //打开文件
//输入文件标签
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize($file_dir . $file_name));
header("Content-Disposition: attachment; filename=" . $file_name);
//输出文件内容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
AiPPT
2024-09-19 广告
2024-09-19 广告
作为北京饼干科技有限公司的工作人员,关于AIPPT免费生成PPT的功能,我可以简要介绍如下:AIPPT是一款基于人工智能技术的PPT制作工具,它为用户提供了免费生成PPT的便捷服务。用户只需简单输入PPT的主题或内容大纲,AIPPT便能智能...
点击进入详情页
本回答由AiPPT提供
展开全部
我估计是请求超时了
配置以下php.ini,改以下超时的限制时长
配置以下php.ini,改以下超时的限制时长
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是环境配置的问题,上传下载的文件大小限制
upload_max_filesize设置一下
upload_max_filesize设置一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那你有没有再下载一个试试。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询