Maison > développement back-end > tutoriel php > php怎么下载文件,php文件下载正确方法

php怎么下载文件,php文件下载正确方法

WBOY
Libérer: 2016-07-25 08:51:31
original
1993 Les gens l'ont consulté
  1. // 检查 form 是否全部填写完毕...
  2. if ($form_completed) {
  3. Header("Location: http://www.myweb.com/download/info_check.exe");
  4. exit;
  5. }
  6. ?>
  7. 或者:
  8. 开始下载文件
复制代码

这里利用了ID方式接收要下载文件的编号,然后用“Redirect”的方式连接到实际的网址。

为安全起见,不让用户直接复制网址下载该文件,建议使用PHP直接读取该实际文件然后下载。

代码:

  1. $file_name = "info_check.exe";
  2. $file_dir = "/public/www/download/";
  3. if (!file_exists($file_dir . $file_name)) { //检查文件是否存在
  4. echo "文件找不到";
  5. exit;
  6. } else {
  7. $file = fopen($file_dir . $file_name,"r"); // 打开文件
  8. // 输入文件标签
  9. Header("Content-type: application/octet-stream");
  10. Header("Accept-Ranges: bytes");
  11. Header("Accept-Length: ".filesize($file_dir . $file_name));
  12. Header("Content-Disposition: attachment; filename=" . $file_name);
  13. // 输出文件内容
  14. echo fread($file,filesize($file_dir . $file_name));
  15. fclose($file);
  16. exit;}
  17. ?>
复制代码

而如果文件路径是“http”或者“ftp” 网址,则源代码会有少许改变,程序如下:

  1. $file_name = "info_check.exe";
  2. $file_dir = "http://www.jincai123.com/";
  3. $file = @ fopen($file_dir . $file_name,"r");
  4. if (!$file) {
  5. echo "文件找不到";
  6. } else {
  7. Header("Content-type: application/octet-stream");
  8. Header("Content-Disposition: attachment; filename=" . $file_name);
  9. while (!feof ($file)) {
  10. echo fread($file,50000);
  11. }
  12. fclose ($file);
  13. }
  14. ?>
复制代码

使用以上代码,可以用php直接输出文件。



source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal