当前位置:首页 » 编程语言 » php访问下载

php访问下载

发布时间: 2022-09-11 21:19:41

php编程访问文件目录并下载

你的这个功能说白了实现不了,除非你新建后台,然后新建数据库,再通过CURD的方式在首页展示出来。工作量比较大,光是几行代码是实现不了。至少要进你的网站后台,和数据库处理

❷ nginx不解析php,访问php文件弹出直接下载该文件 系统是centos7

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
}

❸ PHP文件双击打开时提示下载

提示下载说明没有配置PHP环境,所以localhost打开,无法解析语言,就认为是个普通的文件下载;
配置本地环境,推荐使用PHPstudy一键配置,包含本地MySQL数据库,以及管理工具;
此时由于你本地已经有了虚拟主机的环境,如果使用phpstudy,避免发生环境端口冲突,所以建议先卸载本地的已搭建好的虚拟机环境,然后再一键安装phpstudy。

❹ php写的下载程序 在火狐中访问下载时 无法正常 执行 文件的后缀读取不到 文件是未知类型 怎么破


<?php
/*php官网用户笔记上有例子
网址:us1.php.net/manual/zh/function.header.php

force-download(
--preventingmp3/videoleechingonforums),andIrealizedthata
.


fromyourserver,likeyourindex.phporpasswords.txt--soImadethis

script,.
*/
functiondl_file($file){

//First,seeifthefileexists
if(!is_file($file)){die("<b>404Filenotfound!</b>");}

//Gatherreleventinfoaboutfile
$len=filesize($file);
$filename=basename($file);
$file_extension=strtolower(substr(strrchr($filename,"."),1));

//ThiswillsettheContent-
switch($file_extension){
case"pdf":$ctype="application/pdf";break;
case"exe":$ctype="application/octet-stream";break;
case"zip":$ctype="application/zip";break;
case"doc":$ctype="application/msword";break;
case"xls":$ctype="application/vnd.ms-excel";break;
case"ppt":$ctype="application/vnd.ms-powerpoint";break;
case"gif":$ctype="image/gif";break;
case"png":$ctype="image/png";break;
case"jpeg":
case"jpg":$ctype="image/jpg";break;
case"mp3":$ctype="audio/mpeg";break;
case"wav":$ctype="audio/x-wav";break;
case"mpeg":
case"mpg":
case"mpe":$ctype="video/mpeg";break;
case"mov":$ctype="video/quicktime";break;
case"avi":$ctype="video/x-msvideo";break;

//'tbedownloaded(sensitivestuff,likephpfiles)
case"php":
case"htm":
case"html":
case"txt":die("<b>Cannotbeusedfor".$file_extension."files!</b>");break;

default:$ctype="application/force-download";
}

//Beginwritingheaders
header("Pragma:public");
header("Expires:0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Cache-Control:public");
header("Content-Description:FileTransfer");

//Usetheswitch-generatedContent-Type
header("Content-Type:$ctype");

//Forcethedownload
$header="Content-Disposition:attachment;filename=".$filename.";";
header($header);
header("Content-Transfer-Encoding:binary");
header("Content-Length:".$len);
@readfile($file);
exit;
}
//ThisworksinbothIEandFirefox.
?>

❺ 有些网站的PHP文件是禁止直接访问的,要怎么样才能把那个PHP下载下来呢

如果除了你破解进入服务器方法 之外 你可以偷到他的源代码 那么 你真是无敌了 php就算不了什么东西了

❻ PHP中如何防止直接访问或查看或下载config.php文件

这个问题很简单。。 比如你的网站根目录是 www 那你就把config文件与www 并例放

即config.php 与 www 文件夹在同一目 录下。。 然后你在www 的文件夹下 创建PHP文件。。 用require_once('.. /config.php') 把这个文件包函进来行了。。 这样做最安全。。 因为Config 文件根本就不在网站目录里面 是无法下载的。。 也打不开。。

❼ 访问 .php文件出现一个下载提示的PHP代码

参考如下:
<?php
$filename = '路径+实际文件名';
//文件的类型
header('Content-type: application/pdf');
//下载显示的名字
header('Content-Disposition: attachment; filename="保存时的文件名.pdf"');
readfile("$filename");
exit();
?>
下面是网上常用的方法:
if (isset($link))
{
Header("HTTP/1.1 303 See Other");
Header("Location: $link");
exit;
}
$link就是文件的实际路径。

❽ thinkphp框架 访问时下载入口文件怎么办

因为浏览器无法解析php造成的,这时浏览器只能把php网页当作一个文件,因此就会弹出窗口提示下载php网页。
可能是你电脑本身的问题,关闭所有浏览器,在运行里输入;点开始、运行,输入以下命令行, 然后按确定:
regsvr32 msxml3.dll
回车,如果出现成功的对话框弹出。就可以了。还是不行分别输入以下命令试试。
regsvr32 shell32.dll
regsvr32 actxprxy.dll
regsvr32 shdocvw.dll
regsvr32 urlmon.dll
regsvr32 msjava.dll
regsvr32 browseui.dll
regsvr32 oleaut32.dll
regsvr32 mshtml.dll
还有一种可能就是你服务器配置出错了。自己配置的,测试下能不能执行php文件,如果不能执行,请修改相关设置,如果是idc服务商,请联系他们解决。

❾ php实现文件下载代码

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

<a href=”http://www.*****.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输入正确密码才能访问下载源码

可以做一个表单去跳转实现

热点内容
手机手势密码忘了怎么办 发布:2025-01-12 17:14:51 浏览:486
这手机配置有什么颜色的电视机 发布:2025-01-12 17:02:19 浏览:933
阁源码 发布:2025-01-12 16:48:08 浏览:131
组装机箱搭建服务器 发布:2025-01-12 16:46:58 浏览:512
风险资产配置理论有哪些 发布:2025-01-12 16:46:13 浏览:982
小程序分销源码 发布:2025-01-12 16:42:41 浏览:48
linux查看系统硬件 发布:2025-01-12 16:34:26 浏览:969
安卓手机怎么设置独享标志 发布:2025-01-12 16:27:56 浏览:933
我的世界如何把材质包放进服务器 发布:2025-01-12 16:11:14 浏览:57
使用hmailserver搭建邮件服务器 发布:2025-01-12 16:05:43 浏览:810