PHP文件下载代码<?php
$file_name = "000.JPG";
$file_dir = "/PHP/uploads/";
if (!file_exists($file_dir."/".$file_name))
{ //检查文件是否存在
         return false;
         exit;
     }
 else
 {
         $file = fopen($file_dir."/".$file_name,"r"); // 打开文件
         // 输入文件标签
         header("Content-type: application/octet-stream");
         header("Accept-Ranges: bytes");
         header("Accept-Length: ".filesize($file_dir."/".$file_name));
         header( 'Content-Transfer-Encoding: binary' );
         header("Content-Disposition: attachment; filename=" .$file_name); //以真实文件名提供给浏览器下载 
         header('Pragma: no-cache');
         header('Expires: 0');
         //输出文件内容
         echo fread($file,filesize($file_dir."/".$file_name));
         fclose($file);
         exit;
     }
 ?>访问后,没有出现下载提示,而是把文件内容显示在IE里,形如:?JFIFHH?.ExifII*nv(1~2i?HHAdobe Photoshop 7.02004:12:29 17:21:01?0220悞718???:B(J?HH?JFIFHH Adobe_CMAdobed€            f€"??   3!1AQa"q?憽盉#$R羈34r傃C%扴疳馽s5⒉?D揟dE拢t6襏鈋虺劽觰泱F'敜叴暷凿籁蹬斟鮒fv問Χ浦骣7GWgw嚄Х亲琪5!1AQaq"2亼”B#罵佯3$b醨倰CScs4?⒉?&5乱D揟?dEU6te怛硠糜u泱F敜叴暷凿籁蹬斟鮒fv問Χ浦骣'7GWgw嚄Х? ?螋?鄽P酠?)QI[-蒍d摳j軖I#缷+$??瞤RL憘攩?驲磙裔-&'鸰毣熝p=&鋉[?帏$Lns[嚎F忺嚣礸栦叫e墷5Y? 萸榻弓?慕囚煒謭苎.嶟蠣嬜~3*汦晸}I>- 魴[譗檹^-,遦昤觰'}n瑏飡F遟鎨Vo^陻7岟V鼑胅S箛叓i锵b猩薫8岯" ]k&錈燥?序話KU/抪?蹓J凱?€R匊{?[)B巨徴嶖w亵"輨4??蔼mO鰣詡?p?M﹎K赪8 酧j[R鰥笐妈篲挚扳 W??嬷\鏑^簏銡6鹶秭3X0??莬'z竣$穤??警u7嵋k祥vW檶瘳P璇.綗G裮煣毓+題?悄紦? ?f粇盵翌照鸩0軀77?6棶R薀[輀谱皷恭眎赑蓳&K'鲌?暌?莁羊鐵排?"糺弘?铺 ?肩{X讫'竭Alb齊甓Z銚[眖)热p踃殳v雘边‘?咵闃?m?e4e賔).蒸cR)饰穨咭d輲锊5宔???`杵$ 彋cc籿69!?=G?u鱺梠?r烳?€摖擆V]塳谁知道是哪里设置的问题啊??

解决方案 »

  1.   

    用readfile();读取文件
    具体用法,请查下手册.
      

  2.   

    代码没问题,估计是原来代码没编好时找开了这个页面,刷新下试试,或者地址栏后面加个 ?temp=12345之类的
      

  3.   

    代码没问题,用readfile,看看行不行。
      

  4.   

    原来php下载文件要这么输出啊 我今天面试还遇到这样的题目呢
      

  5.   


    if($isImage)
    {
    header('Content-Disposition: inline; filename='.$fileName);
    } else {
    header('Content-Disposition: attachment; filename='.$fileName);
    }
      

  6.   

    要显示出图片的话注意要输出正确的文件类型。
    如:header("Content-type: image/png"); 
      

  7.   

    你的"/PHP/uploads/";  多了一个斜杠!