Heim  >  Artikel  >  php教程  >  PHP实现文件下载功能

PHP实现文件下载功能

WBOY
WBOYOriginal
2016-06-06 20:12:091529Durchsuche

前面写过一篇PHP实现文件上传功能,后来还有从远程服务器通过http下载文件的需求,又写了个提供文件下载的脚本。 PS. 偶尔用用PHP写点这种很小很小的Web程序,还是蛮简单方便的。 PHP实现文件下载功能的代码如下 ?php$base_dir = "/usr/share/nginx/html/";$

前面写过一篇“PHP实现文件上传功能”,后来还有从远程服务器通过http下载文件的需求,又写了个提供文件下载的脚本。
PS. 偶尔用用PHP写点这种很小很小的Web程序,还是蛮简单方便的。
PHP实现文件下载功能的代码如下

<?php $base_dir = "/usr/share/nginx/html/";
$myfile = $base_dir . $_GET["file"];
//echo $myfile;
?
if( ! file_exists($myfile) ) {
echo "file: " . $myfile . " doesn't exist.";
} elseif ( is_dir($myfile) ) {
echo "file: " . $myfile . " is a directory.";
} else {
    header("Content-type: application/octet-stream");
    header('Content-Disposition: attachment; filename="' . basename($myfile) . '"');
    header("Content-Length: ". filesize($myfile));
    readfile($myfile);
}
?>

github: https://github.com/smilejay/other-code/blob/master/php/download.php

另外,一个牛人分析一下使用apache/nginx的一些模块让php实现问下下载更加的高效:

http://www.laruence.com/2012/05/02/2613.html

(我是路过写几个PHP程序,就没有深入研究了)。

Original article: PHP实现文件下载功能

©2014 笑遍世界. All Rights Reserved.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn