Linux下php下载文件

转载 2013年12月06日 10:33:26

function download($file_dir,$file_name)
    //参数说明:
    //file_dir:文件所在目录
    //file_name:文件名
    {
       $file_dir=chop($file_dir);//去掉路径中多余的空格 http://www.w3school.com.cn/php/func_string_chop.asp
       //得出要下载的文件的路径
       if($file_dir!="")
       {
           $file_path=$file_dir;
           if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir))!="/")
               $file_path.="/";
           $file_path.=$file_name;
       }           
       else
           $file_path=$file_name;   
       
       //判断要下载的文件是否存在
       if(!file_exists($file_path))
       {
           echo "对不起,你要下载的文件不存在。";
           returnfalse;
       }


       $file_size=filesize($file_path);
     
   header("Content-type:application/octet-stream");//file流
   header("Accept-Ranges:bytes");
   header("Accept-Length:$file_size");//提示要接受的文件大小
   header("Content-Disposition:attachment;filename=".$file_name);////提示终端浏览器下载操作


       $fp=fopen($file_path,"r");
       $buffer_size=1024;
       $cur_pos=0;
       
       while(!feof($fp)&&$file_size-$cur_pos>$buffer_size)
       {
           $buffer=fread($fp,$buffer_size);
           echo $buffer;
           $cur_pos+=$buffer_size;
       }
       
       $buffer=fread($fp,$file_size-$cur_pos);
       echo $buffer;
       fclose($fp);
       return true;

    }


zip -q -r -P password zipfile.zip sourcefiles.txt  

password 是加密密码
zipfile.zip 是生成的压缩文件
sourcefiles.txt 是被压缩的文件

zip [参数] <压缩包> <源文件>

使用zip格式打包文件
    -r 递归,将指定目录下的所有文件和子目录一并处理
    -S 包含系统和隐藏文件
    -y 直接保存符号连接,而非该连接所指向的文件
    -X 不保存额外的文件属性
    -m 将文件压缩并加入压缩文件后,删除源文件
    -<压缩级别> 1~9,数字越大,压缩率越高
    -F 尝试修复已损坏的压缩文件
    -T 检查备份文件内的每个文件是否正确无误
    -q 不显示指令执行过程
    -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件
    -u 更新压缩包内文件
    -f 更新压缩包内文件。如果符合条件的文件没有包含在压缩包中,则压缩后添加
    -$ 保存第一个被压缩文件所在磁盘的卷标
    -j 只保存文件名称及其内容
    -D 压缩文件内不建立目录名称
    -i <表达式> 压缩目录时,只压缩符合条件的文件
    -x <表达式> 排除符合条件的文件
    -n <文件名后缀> 排除指定文件名后缀的文件
    -b <缓存路径> 指定临时文件目录
    -d <表达式> 从压缩文件内删除指定的文件
    -t <日期时间> 把压缩文件的日期设成指定的日期
    -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同
    -A 调整可执行的自动解压缩文件
    -c 替每个被压缩的文件加上注释
    -z 替压缩文件加上注释
    -k 使用MS-DOS兼容格式的文件名称。
    -l 压缩文件时,把LF字符置换成LF+CR字符。
    -ll 压缩文件时,把LF+CR字符置换成LF字符。

举例:

将/home/B linux /html/ 这个目录下所有文件和文件夹打包为当前目录下的html.zip

zip -q -r  html.zip /home/B linux /html

unzip -q -n -P password zipfile.zip -d /home/admpub/

 

unzip [参数] <压缩文件> [压缩包中将被释放的文件]

解压zip压缩包文件
    -P <密码> zip压缩包的密码
    -d <路径> 指定解压路径
    -n 解压缩时不覆盖原有文件
    -f 覆盖原有文件
    -o 不经询问,直接覆盖原有文件
    -u 覆盖原有文件,并将压缩文件中的其他文件解压缩到目录中
    -l 显示压缩文件内所包含的文件
    -t 检查压缩文件是否正确
    -z 显示压缩包注释
    -Z unzip -Z等于执行zipinfo指令
    -j 不处理压缩文件中原有的目录路径
    -C 压缩文件中的文件名称区分大小写
    -L 将压缩文件中的全部文件名改为小写
    -s 将文件名中的空格转换下划线
    -X 解压缩时保留文件原来的UID/GID
    -q 执行时不显示任何信息
    -v 执行是时显示详细的信息
    -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
    -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
    -a 对文本文件进行必要的字符转换
    -b 不要对文本文件进行字符转换
    -x <表达式> 处理里排除压缩包中的指定文件
    -M 将输出结果送到more程序处理

相关文章推荐

linux下的php安装文件

  • 2011-03-16 11:39
  • 11.18MB
  • 下载

Linux下的PHP文件

  • 2010-04-06 19:29
  • 11.18MB
  • 下载

linux下通过php生成的csv文件在window中打开乱码解决方法

【背景】今天要做一个数据导出的小需求,通过php将数据库中的数据查询出来,写入到csv(Comma-Separated Values)中。由于程序运行在linux环境上,通过sercureCRT将文件...

Linux下Nginx+PHP+Mysql安装,Nginx配置文件支持PHP

利用Linux Nginx架设高性能的Web环境 Linux Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 L...

fedora linux下php调试利器xdebug 2.1.0下载/fedora13,14测试通过

核心内容:笔者曾写过一篇fedora linux apache/php下安装配置xdebug ,记录了fedora13下安装xdebug 2.1.0的过程。当时在编译的二进制.so模块可以直接在fe...

Linux下Socket写http协议下载文件代码以及说明

看代码:          #include    #include    #include    #include&#...

linux下用java实现ftp上传、下载文件

//1、依赖的jar包:commons-net-1.4.1.jar /** * 上传文件到ftp服务器 * @param ftpHost * @param userName * @p...

linux下wget如何下载整个网站,或者特定目录全部文件

需要下载某个目录下面的所有文件。命令如下 wget -c -r -np -k -L -p www.xxx.org/pub/path/ 在下载时。有用到外部域名的图片或连接。如果需要同时下载就要用-...

Linux下下载百度云大文件

百度云为了防止用户使用其他软件下载里面的文件(用其他软件下载速度很快),对其文件采用了动态链接的方式,每隔一两个小时下载链接就会改变,如果不能在一小时内完成下载,就会下载失败,而且一般不能恢复。 之...

Linux下使用Shell脚本向FTP服务器上传或下载一个文件

//ftpput.sh #!/bin/sh #FileName:ftpput.sh #Function:从本地客户端向ftp服务器上传一个文件 #Version:V...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)