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直接访问的目录。

首发地址:–

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


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

查看所有标签

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

新媒体十讲

新媒体十讲

范卫锋 / 中信出版社 / 2015-8 / 38.00元

“新媒体参谋长”范卫锋解答:媒体人如何转型?怎么创业?如何看准新媒体项目进行投资? 作为“新媒体的参谋长”,本书作者范卫锋将十余年从业亲历的经验教训、行业内幕串联成册,从定位、突破、扩张、商业模式、价值几个方面剖析新媒体策略,解密国内媒体圈转型、创业、投资的实操法则。案例信手拈来,观点鞭辟入里,打造出国内第一本由专业新媒体投资人撰写的新媒体实战兵法,涉及媒体人转型、新媒体实操、媒体公关营销、......一起来看看 《新媒体十讲》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具