非常简单.您在数据库或文本文件中存一个对照表,ID=xx对应文件地址,然后在PHP中查找定位, 最后打开文件,读入,输出下载流.

解决方案 »

  1.   

    to:LeeMaRS(小菜虎_水壶的仇人);
       我是個初學者,能給一點簡單的代碼嗎? 先謝謝你了.
      

  2.   

    终于见到上个月的狂人了.<?
    $dir="downFile";
    $fileID=$HTTP_GET_VARS[id];
    $getFileName=mysql_query("select filename from fileData where id=".$fileID);
    $filename=mysql_result($getFileName,0,'filename');
    header("content-type: application/file"); 
    header("content-disposition: attachment; filename=$filename");
    readfile("$dir/$filename");
    ?>
      

  3.   

    http://www.csdn.net/expert/topic/891/891674.xml?temp=.6829187
      

  4.   

    你好象没有加注释的习惯.用post传看不到那些.也可以用post里的hidden.
      

  5.   

    果真看不懂,請加注釋.$HTTP_GET_VARS[id]  ??select filename from fileData where id=".$fileID  數據庫??
      

  6.   

    $HTTP_GET_VARS[id]  //接受download.php?id=xx 后面的id参数的值select filename from fileData where id=".$fileID  
    fileData数据表结构:
    id   filenameid就是代表文件的id
    filename文件名称。也就是找到id对应的文件的路经和名称,这个当然要用数据库来存储
      

  7.   

    LeeMaRS(小菜虎_水壶的仇人),好呵!
      

  8.   

    to:vivanboy(我是谁?)<?php
    @ $link=mysql_connect('localhost','user','pw') or die('host error');
    @ mysql_select_db('db',$link) or die('db error');
    $id=$HTTP_GET_VARS[id];
    $getfilename=mysql_query("select filepath from down where fileid=".$id);
    $filename=mysql_result($getfilename,0,'filepath');
    header("content-type: application/file"); 
    header("content-disposition: attachment; filename=$filepath"); //我用filepath這個字段存儲了文件名.
    readfile("$filename");
    ?>
    以上代碼用 www.aaa.com/down.php?id=1 調用, 在瀏覽器中顯示"無法顯示該頁",在 FlashGet 中下載可以,但是文件名全部變為 down (下完了,改了名也可以用), 而且沒有文件大小. 請問如何解決. 謝謝.你連接的另一個帖子的幾個header,我也試了,他們會在瀏覽器中打開下載的文件.
      

  9.   

    header("location: xxx");
    就行了
      

  10.   

    header("content-disposition: attachment; filename=$filepath"); 
    =>
    header("content-disposition: attachment; filename=$filename");
      

  11.   

    是行了.
    下載 .ace 格式的還要改Content-type: application/x-gzip
    可是現在還是沒文件的大小,加上
    Header("Accept-Ranges: bytes");
    Header("Accept-Length: ".filesize($filename));
    也不行.
    請指點.
      

  12.   

    插入:
    $size=filesize($filename);
    header("Content-Length: $size");
      

  13.   

    行了,終於行了.謝謝vivanboy(我是谁?)馬上結貼給分.