php 下载服务器任意文件

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

内容简介:发表于 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直接访问的目录。

首发地址:–

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


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

查看所有标签

猜你喜欢:

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

从界面到网络空间

从界面到网络空间

(美)海姆 / 金吾伦/刘钢 / 上海科技教育出版社 / 2000-7 / 16.40元

计算机急剧改变了20世纪的生活。今天,我们凭借遍及全球的计算机网络加速了过去以广播、报纸和电视形式进行的交流。思想风驰电掣般在全球翻飞。仅在角落中潜伏着已完善的虚拟实在。在虚拟实在吕,我们能将自己沉浸于感官模拟,不仅对现实世界,也对假想世界。当我们开始在真实世界与虚拟世界之间转换时,迈克尔·海姆问,我们对实在的感觉如何改变?在〈从界面到网络空间〉中,海姆探讨了这一问题,以及信息时代其他哲学问题。他......一起来看看 《从界面到网络空间》 这本书的介绍吧!

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具