zoukankan      html  css  js  c++  java
  • PHP文件下载功能实现

    客户端的浏览器通过HTTP协议可以实现文件下载;

    方法一:

    能提供用户下载的最简单的方法就是使用一个<a></a>标签,比如在页面中添加这么一行代码

    1 <a href="test/php/123.zip">点击即可下载</a>

    只要用户在浏览器中一点击链接就能达到下载的目的,但是这只能针对与浏览器不能直接打开的文件,比如压缩包,可执行文件......

    如果是图片,声音,视频等文件,浏览器都是能直接打开的,再用上面的方法,就会直接在浏览器中打开展示提供给用户,此时就得使用另外一种方法了。

    方法二:

    在给出文件路径之前,要先通过header()函数将修改HTTP协议中的实体首部字段中某些字段的值

    比如,要提供一张图片(123.png)给用户下载,那么只需下面的几行代码

    1 $filename="123.png";
    2 header("Content-Type:image/png");
    3 header("Content-Disposition:attachment;filename=".$filename);
    4 header("Content-Length".filesize($filename));
    5 readfile($filename);

    下面是常用的文件类型MIME码:

    	header("Content-Type:text/html;charset=utf-8");
    	header("Content-Disposition:attachment;filename=".$filename);
    	header("Content-Type: image/jpg");
    	header("Content-Type:image/png");
    	header("Content-Type:image/gif");
    	header("Content-Type:image/jpeg");
    	header("Content-Type:image/x-png");
    	header("Content-Type:text/txt");
    	header("Content-Type:text/plain");
    	header("Content-Type:text/html");
    	header("Content-Type:audio/basic");
    	header("Content-Type:audio/x-m4a");
    	header("Content-Type:video/mpeg");
    	header("Content-Type:application/zip");
    	header("Content-Type:application/x-tar");
    	header("Content-Type:application/x-gz");
    	header("Content-Type:application/msword");
    	header("Content-Type:application/powerpoint");
    	header("Content-Type:application/vnd.ms-excel");
    	header("Content-Type:application/x-msdownload");

    这只是一个示例,至于怎么用,可以自己修改的哈

  • 相关阅读:
    ubuntu 安装FoxitReader福昕阅读器(转载)
    添加中文字库
    操作系统常用调度算法(转载https://www.cnblogs.com/kxdblog/p/4798401.html)
    2802:小游戏利用bfs来实现
    2802:小游戏
    适合使用并行的一种bfs
    (转载)关于usr/bin/ld: cannot find -lxxx问题总结
    gcc5.4报错对‘std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()’未定义的引用
    centos7如何安装gcc5.4
    将含有makefile文件的源码加入Eclipse工程
  • 原文地址:https://www.cnblogs.com/-beyond/p/7207285.html
Copyright © 2011-2022 走看看