比如下载地址是这样的http://www.web.com/?12345下载的软件名是soft.exe这样点下载时文件名就会变成soft_12345.exe
这样的效果是怎么样实现的呢

解决方案 »

  1.   

    我的意思是
    ?12345
    是个参数,是会变的,但是文件名不可能总跟着改像下面这个网站的效果http://v.6hutv.com/?5000
    参数怎么变,文件名就怎么变
      

  2.   

    这种下载方式并不是直接下载的文件
    而是通过 php 的文件操作产生的下载
    程序中至少有
    Header("Content-Disposition: attachment; filename=" . $file_name);
    这样的语句,那个 $file_name 就是用户看到的文件名,与真实文件的文件名可以无任何关系
    你可以随意拼装 $file_name 这个变量
      

  3.   

    http://www.google.com.hk/#hl=zh-CN&safe=strict&site=&q=php+%E5%AE%9E%E7%8E%B0%E4%B8%8B%E8%BD%BD&oq=php+%E5%AE%9E%E7%8E%B0%E4%B8%8B%E8%BD%BD&aq=f&aqi=&aql=&gs_sm=e&gs_upl=2321l7967l0l8222l4l4l0l0l0l0l0l0ll0l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=392bebac44f3aa8c&biw=1920&bih=976
      

  4.   


    以前用过的一个强制下载。不过要慎用function force_download($file_dir,$file_name){
    /* 强制性文件下载
     * 为用户提供强制性的文件下载功能。*/
    if ((isset($file_dire))&&(file_exists($file_dir))) {
    header("Content-length: ".filesize($file_dir));
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . $file_name . '"');
    readfile("$file_dir");
    } else {
    echo "No file selected";
    }
    }