好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php文件的下载 php下载文件到指定目录

很多站长朋友们都不太清楚php文件的下载,今天小编就来给大家整理php文件的下载,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 .php文件怎么下载 2、 php实现文件下载代码 3、 php文件怎么下载 4、 PHP典型模块与项目实战大全:PHP文件下载的原理及实现 5、 php中怎么实现文件下载功能? 6、 PHP下载文件 .php文件怎么下载

把网址复制到下载工具里,比如迅雷,但是有可能会被解析。或者是使用网站下载器。

.php是动态服务器脚本文件,处理网站后台事务。网站管理中通过通过ftp上传和下载。

php实现文件下载代码

简单的文件下载只需要使用HTML的连接标记<a>,并将属性href的URL值指定为下载的文件即可。所示:

<a href=”.*****.net/download/book.rar”>下载文件</a>

如果通过上面的代码实现文件下载,只能处理一些浏览器不能默认识别的MIME类型文件,例如当访问book.rar文件时,浏览器并没有直接打开,而是弹出一个下载提示框,提示用户“下载”还是“打开”等处理方式。但如果需要下载后缀名为.html的网页文件、图片文件及PHP程序脚本文件等,使用这种连接形式,则会将文件内容直接输出到浏览器中,并不会提示用户下载。

为了提高文件的安全性,不希望在<a>标签中给出文件的链接,则必须向浏览器发送必要的头信息,以通知浏览器将要进行下载文件的处理。PHP使用header()函数发送网页的头部信息给浏览器,该函数接收一个头信息的字符串作为参数。文件下载需要发送的头信息包括以下三部分,通过调用三次header()函数完成。以下载图片test.gif为例,需要发送的头信息的所示:

header(‘Content-Type:imge/gif'); //发送指定文件MIME类型的头信息

header(‘Content-Disposition:attachment; filename=”test.gif”‘); //发送描述文件的头信息,附件和文件名

header(‘Content-Length:3390′); //发送指定文件大小的信息,单位字节

如果使用header()函数向浏览器发送了这三行头信息,图片test.gif就不会直接在浏览器中显示,而让浏览器将该文件形成下载的形式。在函数header()中,“Content-Type”指定了文件的MIME类型,“Content_Disposition”用于文件的描述,值“attachment;

filename=”test.gif””说明这是一个附件,并且指定了下载后的文件名,“Content_Length”则给出了被下载文件的大小。

设置完头部信息以后,需要将文件的内容输出到浏览器,以便进行下载。可以使用PHP中的文件系统函数将文件内容读取出来后,直接输出给浏览器。最方便的是使用readfile()函数,将文件内容读取出来直接输出。下载文件test.gif的所示:

<?php

$filename = "test.gif";

header('Content-Type:image/gif'); //指定下载文件类型

header('Content-Disposition: attachment; filename="'.$filename.'"'); //指定下载文件的描述

header('Content-Length:'.filesize($filename)); //指定下载文件的大小

//将文件内容读取出来并直接输出,以便下载

readfile($filename);

?>

上面如果碰到中文名字就会无法正常下载了,对于中文名字下载文件我又找到一个文件下载实例代码

<?php

header("Content-type:text/html;charset=utf-8");

// $file_name="cookie.jpg";

$file_name="圣诞狂欢.jpg";

//用以解决中文不能显示出来的问题

$file_name=iconv("utf-8","gb2312",$file_name);

$file_sub_path=$_SERVER['DOCUMENT_ROOT']."marcofly/phpstudy/down/down/";

$file_path=$file_sub_path.$file_name;

//首先要判断给定的文件存在与否

if(!file_exists($file_path)){

echo "没有该文件文件";

return ;

}

$fp=fopen($file_path,"r");

$file_size=filesize($file_path);

//下载文件需要用到的头

Header("Content-type: application/octet-stream");

Header("Accept-Ranges: bytes");

Header("Accept-Length:".$file_size);

Header("Content-Disposition: attachment; filename=".$file_name);

$buffer=1024;

$file_count=0;

//向浏览器返回数据

while(!feof($fp) $file_count<$file_size){

$file_con=fread($fp,$buffer);

$file_count+=$buffer;

echo $file_con;

}

fclose($fp);

?>

header("Content-type:text/html;charset=utf-8")的作用:在服务器响应浏览器的请求时,告诉浏览器以编码格式为UTF-8的编码显示该内容

关于file_exists()函数不支持中文路径的问题:因为php函数比较早,不支持中文,所以如果被下载的文件名是中文的话,需要对其进行字符编码转换,否则file_exists()函数不能识别,可以使用iconv()函数进行编码转换

$file_sub_path() 我使用的是绝对路径,执行效率要比相对路径高

Header("Content-type: application/octet-stream")的作用:通过这句代码客户端浏览器就能知道服务端返回的文件形式

Header("Accept-Ranges: bytes")的作用:告诉客户端浏览器返回的文件大小是按照字节进行计算的

Header("Accept-Length:".$file_size)的作用:告诉浏览器返回的文件大小

Header("Content-Disposition: attachment; filename=".$file_name)的作用:告诉浏览器返回的文件的名称

以上四个Header()是必需的

fclose($fp)可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区

php文件怎么下载

php文件一样可以用BT软件打开的,放心使用,没问题的。我以前也下过好多PHP的种子文件。

你是要让你的装了IIS的机器支持PHP呢还是只是单纯的打开*.php的文件?

如果是要支持PHP,那么你要装专门的PHP解释器。

首先你去下载php-4.3.4-Win32.zip。

下面为配置步骤:

1)将php-4.3.3RC4-Win32.zip里面的所有文件和文件夹解压缩并放置在C:\\php4\\文件夹中,没有自己创建该文件夹

2)进入php4文件夹,查看根目录和子目录,把所有.dll文件都统统复制粘贴到C:\\WINNT\\system32(WIN2K)或C:\\WINDOWS\\system32(WINXP)中

3)把php4文件夹里面的php.ini-dist和php.exe文件复制到

C:\\WINNT\\(WIN2K)或C:\\WINDOWS\\(WINXP)中,并将php.ini-dist文件改为php.ini

4)双击php.ini打开该配置文件,进行下面3个地方的修改:

1> 把extension_dir = "C:\\php4\\extensions" 改为你安装php4的 extensions文件夹路径

2> 把 ;cgi.force_redirect = 1 改为 cgi.force_redirect = 0

3> 把 register_globals = Off 改为 register_globals = On

4> 找到 ;Windows Extensions 段,你应该可以看到如下代码

;

;extension=php_bz2.dll

;extension=php_cpdf.dll

;extension=php_crack.dll

;extension=php_curl.dll

;extension=php_db.dll

;extension=php_dba.dll

;extension=php_dbase.dll

;extension=php_dbx.dll

;extension=php_domxml.dll

;extension=php_exif.dll

;extension=php_fdf.dll

;extension=php_filepro.dll

;extension=php_gd2.dll

;extension=php_gettext.dll

;extension=php_hyperwave.dll

;extension=php_iconv.dll

;extension=php_ifx.dll

;extension=php_iisfunc.dll

;extension=php_imap.dll

;extension=php_interbase.dll

;extension=php_java.dll

;extension=php_ldap.dll

;extension=php_mbstring.dll

;extension=php_mcrypt.dll

;extension=php_mhash.dll

;extension=php_mime_magic.dll

;extension=php_ming.dll

;extension=php_mssql.dll

;extension=php_msql.dll

;extension=php_oci8.dll

;extension=php_openssl.dll

;extension=php_oracle.dll

;extension=php_pdf.dll

;extension=php_pgsql.dll

;extension=php_printer.dll

;extension=php_shmop.dll

;extension=php_snmp.dll

;extension=php_sockets.dll

;extension=php_sybase_ct.dll

;extension=php_w32api.dll

;extension=php_xmlrpc.dll

;extension=php_xslt.dll

;extension=php_yaz.dll

;extension=php_zip.dll

具体还得看你需要加载哪些.dll文件,不过你按照下面我这样改也行,主要是要加载的.dll文件就去掉前面的分号( ; ) :

;

;extension=php_bz2.dll

;extension=php_cpdf.dll

;extension=php_crack.dll

;extension=php_curl.dll

;extension=php_db.dll

;extension=php_dba.dll

;extension=php_dbase.dll

;extension=php_dbx.dll

;extension=php_domxml.dll

extension=php_exif.dll

;extension=php_fdf.dll

;extension=php_filepro.dll

extension=php_gd2.dll

;extension=php_gettext.dll

;extension=php_hyperwave.dll

;extension=php_iconv.dll

;extension=php_ifx.dll

;extension=php_iisfunc.dll

extension=php_imap.dll

;extension=php_interbase.dll

;extension=php_java.dll

;extension=php_ldap.dll

;extension=php_mbstring.dll

;extension=php_mcrypt.dll

;extension=php_mhash.dll

;extension=php_mime_magic.dll

;extension=php_ming.dll

;extension=php_mssql.dll

;extension=php_msql.dll

;extension=php_oci8.dll

;extension=php_openssl.dll

;extension=php_oracle.dll

;extension=php_pdf.dll

;extension=php_pgsql.dll

;extension=php_printer.dll

;extension=php_shmop.dll

;extension=php_snmp.dll

;extension=php_sockets.dll

;extension=php_sybase_ct.dll

;extension=php_w32api.dll

;extension=php_xmlrpc.dll

;extension=php_xslt.dll

;extension=php_yaz.dll

;extension=php_zip.dll

5)再次打开控制面板-管理工具-Internet服务管理器,在"默认web站点"上右键单击,选择"属性"

6)选中"默认 Web 站点 属性"窗口的"主目录"选项卡,点击右下角的"配置"按钮,出现"应用程序配置"窗口,点击"应用程序映射"下面的"添加"按钮,添加下面的程序映射:

可执行文件: C:\\php4\\php.exe %s %s (也就是你的php4文件夹路径)

扩展名: .php

确定完成配置!

7)切换到"默认 Web 站点 属性"窗口的"ISAPI筛选器"选项卡,点击右边的"添加"按钮,添加下面的一个筛选器:

筛选器名称: PHP

可执行文件: C:\\php4\\sapi\\php4isapi.dll (也就是你的php4文件夹的 sapi文件夹路径)

确定后关闭"Internet服务管理器"

8)继续切换到"默认 Web 站点 属性"窗口的"文档"选项卡,点击右边的"添加"按钮,添加如下"启用默认文档":

index.php 也可以添加 index.php3 index.php4 等等 看你的需要而定

点击左边的"↑"按钮,把index.php文档提升到最上面

现在你的IIS也支持PHP了.

PHP 是一种新型的 CGI 程序编写语言.应该说是个嵌入式脚本文件。和ASP、JSP有很多类似的功能。唯一不同的是,ASP要整站的解释在传递,而PHP则可以嵌入HTML代码里,和HTML一起发送。要读.PHP文件就要用PHP解释器。现在用的是PHP V4.3.0有支持Windows和 Unix/Linux的版本。当然你还要在自己机子上虚拟主机,可以用很出名的Apache软件。

.php可以用文本编辑器(如记事本、emeditor、phpedit等)打开。如果要运行它得安装相应的php解释器和web服务支持才行。

PHP典型模块与项目实战大全:PHP文件下载的原理及实现

  PHP文件下载的原理及实现

通常文件下载过程是十分简单的 建立一个链接指向到目标文件就可以了 例如下面的链接

<a href=// xxx /xxx rar>点击下载文件</a>

但是 实际情况可能会稍复杂 比如需要用户填写完整注册信息后才可以下载该文件 这时最先想到的是使用Redirect的方式 下面介绍两种方式

( )用Redirect方式 先检查表格是否已经填写完毕和完整 然后将链接指到该文件 这样用户就可以下载 请看下面的示例代码

<?php

/*文件功能 检查变量form是否完整*/

if($form){

//重新定向浏览器指向

Header( Location: // // xxx /xxx rar )

exit;

}

?>

( )根据下载文件的序号来查找 链接的形式如下

<a href= // xxx /download php?id= >点击下载文件</a>

上面的链接使用ID方式接收要下载文件的编号 然后再用Redirect的方式连接到真实的文件链接

以上这两种方法虽然实现了文件的下载功能 但是缺点是直接暴露了文件所属的路径 而且没有防盗链的功能 所以上面的方式是简单直接但存在安全隐患的文件下载方式 在PHP中 通常是利用header()函数和fread()函数来实现安全的文件下载

例如 需要下载的是一个文件名为xxx rar的文件 首先创建文件是download php的PHP文件 通过前面的例子很容易通过文件的ID号从数据库中得到待下载文件的真实位置 在获得文件的真实存储位置后 可以通过header()函数的location参数直接重定向到这个文件 但是这样仍然是不安全的 因为某些下载软件还是可以通过重定向分析获得该文件的位置信息 因此需要用另外一种方法 就是PHP的文件处理API函数 它是通过fread()函数把文件直接输出到浏览器提示用户下载 这样所有的处理都是在服务器端完成的 因此用户就无法获得文件具体存储位置信息的 示例代码如下

<?

$file_name = xxx rar ;     //下载文件名

$file_dir = /up/ ;        //下载文件存放目录

//检查文件是否存在

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

echo 文件找不到 ;

exit ()

} else {

//打开文件

$file = fopen ( $file_dir $file_name r )

//输入文件标签

Header ( Content type: application/octet stream )

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 ()

}

?>

【代码解读】

上述代码中 程序发送Header信息是用来告诉Apache和浏览器下载文件的相关信息的 content type的含义代表文件MIME类型是文件流格式 如果在Apache配置里面把文件的MIME类型设为application/octet stream(如add application/octet stream xxx rar) 那么浏览器(客户端)就会知道 这是一个文件流格式的文件并提示用户下载 Accept Ranges是一个响应头标 它允许服务器指明将在给定的偏移和长度处 为资源组成部分的接受请求 该头标的值被理解为请求范围的度量单位 Content Length是指定包含于请求或响应中数据的字节长度 例如 Content Length: Content Disposition:attachment是用来告诉浏览器 文件是可以当做附件被下载 下载后的文件名称为$file_name该变量的值

运行download php文件 效果如图 所示 从图中可以看到文件按照预想的方式被提示下载 单击 保存 按钮将文件保存在本地

图   PHP文件安全下载

       返回目录 PHP典型模块与项目实战大全

       编辑推荐

       Java Web开发详解

       PHP Web开发学习实录

lishixinzhi/Article/program/PHP/201311/21519

php中怎么实现文件下载功能?

两种方法:

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文档,就会直接在浏览器中打开。

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

你可以检查一下你传值过来的路径是否正确,还有,流输出后面不要再进行任何操作了。

拓展资料:

集成开发环境是一种集成了软件开发过程中所需主要工具的集成开发环境,其功能包括但不仅限于代码高亮、代码补全、调试、构建、版本控制等。一些常见的PHP IDEs如下:

Zend Studio:商业版,Zend官方出品,基于eclipse

Eclipse with PDT:免费

Coda:商业版,针对Mac用户

NetBeans:免费,功能强大

PHP Storm:商业版

Aptana Studio:免费

PhpEd:商业版

Komodo IDE/Edit:IDE为商业版,Edit可免费使用

Adobe Dreamweaver:商业版

除去集成开发环境,具备代码高亮功能的常见文本编辑器因其轻巧灵活也常被选作开发工具,例如:Notepad++、Editplus、SublimeText、Everedit(国人开发)等等。

PHP的特性包括:

1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,

PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;

PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。

3. PHP支持几乎所有流行的数据库以及操作系统。

4. 最重要的是PHP可以用C、C++进行程序的扩展!

参考资料:百度百科:PHP

PHP下载文件

可以直接在百度或者搜狗上面搜索

PHP下载文件

,点进去有个下载的按钮,只要电脑上面装了迅雷,点下载右键就会有迅雷下载了;

关于php文件的下载的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php文件的下载 php下载文件到指定目录的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did195931
更新时间:2023-04-26   阅读:58次

上一篇: php设置域名首页 php站点域名管理

下一篇:在那看php版本 怎么看php版本

最新资料更新

  • 1.php怎样打开url php链接怎么打开
  • 2.安卓phpapp 安卓php服务器
  • 3.php可以回收吗 php还有人用吗
  • 4.vscode开发php vscode开发JAVA方便吗
  • 5.php短信android Php短信对接视频
  • 6.nginx隐藏.php nginx隐藏ip
  • 7.php截取汉子 php 截断
  • 8.php开启sslopen php开启gd库
  • 9.php配置外网访问 phpstudy外网映射
  • 10.php队列和缓存 php中的九大缓存技术
  • 11.phpsessions phpsession使用
  • 12.php常量乱码 phpstorm乱码
  • 13.phphint插件下载 php 插件系统
  • 14.phpmysql当天 mysql 当天
  • 15.php+引用swf php引用其他文件内的函数
  • 16.php显示json php显示客户端ip和服务器ip
  • 17.长沙php就业怎样 2021年php就业班
  • 18.php获取监控视频 php采集视频地址
  • 19.php网页滚动代码 php 如何做滑动加载
  • 20.php键值怎么转换 php字符转换成数字

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]