php 下载服务器任意文件

栏目: PHP · 发布时间: 7年前

内容简介:发表于 2018-11-08 09:25:43 by月小升2018年11月服务器挂了,各种底层命令行失效,只能通过只有cd 和 cat命令有效 vi失效,ls失效

发表于 2018-11-08 09:25:43 by月小升

2018年11月服务器挂了,各种底层命令行失效,只能通过 php 下载 服务器的数据库备份文件 (备份还是应该在异地备份,否则麻烦的很)

只有cd 和 cat命令有效 vi失效,ls失效

cat > a.php << \EOF

输入完毕 php 代码输入EOF就可以退出了。

<?php
$name = $_GET['name'];
function read($filename){
$arr = explode("/", $filename);
$lastname =  $arr[count($arr)-1];
 
$file_size = filesize($filename);
    header("Content-type: application/octet-stream"); //返回的文件 
  header("Accept-Ranges: bytes");   //按照字节大小返回
  header("Accept-Length: $file_size"); //返回文件大小
  header("Content-Disposition: attachment; filename=".$lastname);//这里客户端的弹出对话框,对应的文件名
    $fp = fopen($filename, "rb");//读取二进制文件时,需要将第二个参数设置成'rb'
//向客户端返回数据
 //设置大小输出
 $buffer=1024;
 $file_count=0;
 while(!feof($fp) && ($file_size-$file_count)>0){
  $file_data=fread($fp,$buffer);
  $file_count+=$buffer;
  echo $file_data;
 }
 fclose($fp);
}
$file = '/root/'.$name;
 
read($file);
 ?>

此代码可以实现 下载 站的文件验证,加密,等各种功能,因为所有文件下载必须经过 php 文件,就可以进行cookie认证鉴权等操作。

比如服务器存了个java-er.com.zip,客户下载必须登录,就可以用php来实现。发现客户没登录,那么禁止下载

当然这个zip文件实际上不在http服务目录下,而是在专门的无法被http直接访问的目录。

首发地址:–

无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Google是如何控制世界的

Google是如何控制世界的

(美)丹尼尔·伊克比亚 / 李军 / 东方出版社 / 2008-08 / 36.00元

秘Google的发展之路! Google,这个有着数百亿的网页存储量、每天两亿搜索次数的搜索引擎,最初仅仅是一个方程式。这个由拉里·佩奇和塞吉·布林两位天才创造出的超级算法甚至比可口可乐的配方还要保密。 当广告公司为自己网页在搜索结果中的排序争得头破血流时,Google正悠然地坐收渔翁之利,这种天才的拍卖广告链接的商业模式给Google带来了令人瞠目结舌的企业利润!仅仅从1999~20......一起来看看 《Google是如何控制世界的》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具