2012-04-12 5 views
0

私はPHPを少し新しくしました。どのように私は一時的なファイルにmysqlクエリからのデータの結果を書き込み、ユーザーがそれをダウンロードすることができます。ファイルに書き込んで、ユーザーがPHPでファイルをダウンロードできるようにする方法は?

+0

おそらくないはずです。ほとんどの場合、HTTPレスポンスでデータを返し、ファイルシステムにはまったく書き込まないようにしてください。 – Quentin

+0

データを画面にエコーするだけです。別名で保存ダイアログボックスを表示したい場合は、そこにある情報の「コンテンツ処理添付ファイル」 - _loads_を検索してください。 – halfer

+0

@Quentinどうすればいいですか? – dubyzu

答えて

0

一時ファイルに保存して、ユーザーにリンクを提供するのではなく、自分が行っていることに応じて、クライアントに直接ストリーミングするのが最適です。あなたの出力は明らかに、プレーンテキストであると仮定すると、

<?php 
header('content-type: text/plain'); 
file_get_contents('/your/temporary/file'); 
?> 

:よう

何か。

0

私は、あなた自身を始めるためにいくつかの基本的なPHPチュートリアルを読んでおく必要があると思います。 PHPには、あなたがやりたいことを達成するために使用できるファイル関連の関数がたくさんあります。私が推奨するアプローチは一つもありません。それはすべてあなたのプロジェクトの特定の状況と要件に依存します。 W3の学校やPHPのマニュアルを開始するのに適しているかもしれません。 fopen、fwrite、fread、file_put_contents、file_get_contentsなどのメソッドを見てください。

0
<?php 
$filename = 'temporary.file'; 
$file = '/path/to/temporary.file'; 
header("Content-Description: File Transfer"); 
header('Content-Type: application/octet-stream'); 
header("Content-Disposition: attachment; filename=$filename"); 
readfile($file); 
関連する問題