大家来看看我写的[下载功能]程序

etjerry 2003-08-19 04:29:53
<?
$w=strtok($title,".");
$tit=$w;
$file_name =$title;
$file_dir = "F://FoxServ//www//courseware//";
$file_dir=$file_dir.$tit."//";
$file_dir=addslashes($file_dir);
if (!file_exists($file_dir . $file_name)) {
echo "文件找不到";
exit;
} else {
$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);
exit;}
?>
出现的问题:
虽然不提示错误,但是每次利用这个下载的东西都不正确.

请大侠帮我看看.
...全文
78 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2003-08-19
  • 打赏
  • 举报
回复
这个程序多半输出"文件找不到"吧?
php提供了函数
dirname 返回路径
basename 返回文件名
为什么不用呢?
<?
$w=strtok($title,"."); // 提取扩展名以前的字符,这对吗?
$tit=$w;
$file_name =$title;
$file_dir = "F://FoxServ//www//courseware//"; // 要使用单个的"/"
$file_dir=$file_dir.$tit."//"; // 同上
$file_dir=addslashes($file_dir); // 不要这个处理
if (!file_exists($file_dir . $file_name)) {
echo "文件找不到";
exit;
} else {
$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);
exit;}
?>
indeed 2003-08-19
  • 打赏
  • 举报
回复
用下面的代码吧:
<?
$upload_dir="../../upload/";
$upload_file = "file1.rar";
$fp = fopen($upload_dir.$upload_file,"r"); // 打开文件
// 输入文件标签
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($upload_dir.$upload_file));
Header("Content-Disposition: attachment; filename=" . $upload_file);
// 输出文件内容
echo fread($fp,filesize($upload_dir . $upload_file));
fclose($fp);
?>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧