-1

したがって、データベースにファイルを追加できるアップロードページがあり、ファイルはmysqlテーブルにvarcharを挿入して「cursuri/」に保存されます。

今、私はファイルをダウンロードしたいのですが、私はできません(私はチェックしました、アップロードされたファイルはフォルダにあります)、代わりに空の.htmファイルを取得し続けます。

mysqlテーブルpreda.material(varchar)のデータを確認したところ、binary_file.datが含まれており、その中にファイルの名前が含まれています。

今スクリプト:

<?php
session_start();
include_once('scripts/connect_to_mysql.php');
$ID_material = (int) $_GET['ID_material'];  
$sql = "SELECT material FROM `preda` WHERE `ID_material` = '$ID_material' "; 
$result = mysql_query($sql);
while($info = mysql_fetch_array($result)) 
{ 
header("Content-disposition: attachment; filename=". $info['material']);        

/* print "Cursuri/".$info['material'] ." <br>"; */
}

?>
4

1 に答える 1

3
header("Content-disposition: attachment; filename=". $info['material']);        

これは、HTTP 応答の本文に XYZ という名前のファイルのファイル データが含まれていることを受信者 (ブラウザー) に伝える HTTP ヘッダーを設定するだけです。それ自体はファイルを添付したり、ブラウザーがどこかからファイルを取得できるようにしたりしません。実際のファイル データを自分で出力する必要があります。を参照してくださいreadfile

于 2012-09-10T15:29:34.080 に答える