第十四回、PHP基础教程,文件下载代码

使用前面介绍的方法下载文件,会出现下载的文件无法打开的错误,对此作如下修改。

1、下载的文件为本站文件的操作方法

$file_name = “info_check.exe”;

$file_dir = “/public/www/download/”;

if (!file_exists($file_dir . $file_name))

{ //检查文件是否存在

echo “文件找不到”;

exit;

}

else

{

$file = fopen($file_dir . $file_name,”r”);

//打开文件

//输入文件标签

header(“Content-type: application/octet-stream;

charset=gb2312”);

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;

}

2、而如果文件路径是”http”或者”ftp”网址的话,即如果要下载别人网站中的内容,则源代码会有少许改变,程序如下:

$file_name = “info_check.exe”;

$file_dir = “www.chinaz.com/sub/down/file/”;

$file = @ fopen($file_dir . $file_name,”r”);

if (!$file)

{

echo “文件找不到”;

}

else

{

header(“Content-type: application/octet-stream”);

header(“Content-Disposition: attachment;

filename=” . $file_name);

while (!feof ($file))

{

echo fread($file,50000);

}

fclose ($file);

}