PHP下载文件
发布时间:2020-12-13 17:59:06 所属栏目:PHP教程 来源:网络整理
导读:讲完了《文件上传》,接下来讲一下 PHP 中如何下载文件。简单的文件下载只需要使用 HTML 的链接标记 a ,并将?href?属性的值指定为要下载的文件路径即可,如下所示: a href="https://www.jb51.cchttp://c.biancheng.net/php/logo.zip"下载文件a 通过上面的方
讲完了《文件上传》,接下来讲一下 PHP 中如何下载文件。简单的文件下载只需要使用 HTML 的链接标记 <a> ,并将?href?属性的值指定为要下载的文件路径即可,如下所示:<a href="https://www.52php.cnhttp://c.biancheng.net/php/logo.zip">下载文件<a> 通过上面的方法实现文件下载的话,只能处理一些浏览器不能识别的类型文件,例如上面示例中用到的 zip 压缩文件,浏览器不能直接打开,所以会弹出一个下载提示,但如果将链接后面的文件改成后缀名为.html的网页文件、图片文件或者 PHP 程序脚本文件的话,使用这种链接形式,则会将文件内容直接输出到浏览器中,并不会提示用户下载。为了避免要下载的文件直接在浏览器中输出,我们可以向浏览器发送一个头信息,用来通知浏览器进行下载文件的处理。在 PHP 中可以使用 header() 函数发送网页的头部信息给浏览器,该函数接受一个头信息的字符串作为参数,其语法格式如下: header(string $string[,bool $replace = true[,int $http_response_code]]) 其中,$string 就是头信息的字符串;$replace 为可选参数,用来设置是否使用后面的头信息替换前面相同类型的头信息,默认为 true;$http_response_code 为可选参数,用来强制指定 HTTP 响应的值。要实现文件下载需要调用三次 header() 函数,下面是以下载图片 logo.jpg 为例,需要发送的头信息的代码如下所示:
header('Content-type:image/jpg');?? // 发送指定文件 MIME 类型的头信息 头部信息中需要一些文件的属性信息,可以使用 PHP 中提供的函数来获取。设置完头部信息以后,需要将文件的内容输出到浏览器,以便进行下载。可以使用 PHP 中的文件系统函数将文件内容读取出来后,直接输出给浏览器。最方便的是使用 readfile() 函数,将文件内容读取出来并直接输出。 【示例】以下载图片 logo.jpg 为例,实现代码如下所示: <?php $file = 'logo.jpg'; header('Content-type:image/jpg'); // 发送指定文件 MIME 类型的头信息 header('Content-Disposition:attachment;filename="'.$file.'"'); // 发送描述文件的头信息,附件和文件名 header('Content-Length:'.filesize($file)); // 发送指定文件大小的信息,单位是字节 readfile($file); ?>运行上面的代码即可将 logo.jpg 下载到本地。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |