PHP实现文件下载

PHP实现文件下载,第1张

2种方法

1直接做个超链接,地址文件的地址

<a href="文件地址">下载</a>

2流输出

<?php

$file=fopen('文件地址',"r")

header("Content-Type: application/octet-stream")

header("Accept-Ranges: bytes")

header("Accept-Length: ".filesize('文件地址'))

header("Content-Disposition: attachment filename=文件名称")

echo fread($file,filesize('文件地址'))

fclose($file)

?>

推荐第二种

因为第一种方法只能下载浏览器不能解析的文件,比如rar啊,脚本文件之类。如果文件是图片或者txt文档,就会直接在浏览器中打开

而第二种方法是直接输出的文件流,不存在上述问题

            // 下载文件  文件用绝对路径

            ob_clean()

            header('Pragma: public')

            header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT')

            header('Cache-Control:no-store, no-cache, must-revalidate')

            header('Cache-Control:pre-check=0, post-check=0, max-age=0')

            header('Content-Transfer-Encoding:binary')

            header('Content-Encoding:none')

            header('Content-type:multipart/form-data')

            header('Content-Disposition:attachment filename="'.$filename.'"') //设置下载的默认文件名

            header('Content-length:'. filesize($dfile))  //要下载的文件

            $fp = fopen($dfile, 'r')

            while(connection_status() == 0 && $buf = @fread($fp, 8192)){

                echo $buf

            }

            fclose($fp)

            @unlink($dfile)

            @flush()

            @ob_flush()

            exit()

一、下载并安装FTP客户端,例如我现在用的Xftp6。

xftp6中文版是一款高效实用的MS windows 平台专用SFTP、FTP 文件传输工具。xftp6中文版功能强劲,便捷好用,支持MS windows 用户安全地在 UNIX/Linux 和 Windows PC 之间进行文件传输。

二、点击文件->新建

三、在弹出的对话框中输入

四、文件->打开创建的会话, 选择会话,点连接

五、在进入的界面,可以看到服务器文件,找到指定目录然后右键->传输就可以了。

写在最后:

SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。SFTP与FTP有着几乎一样的语法和功能。SFTP为SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/345598.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存