一時ファイルのパスを取得するにはどうすればいいですか? 質問する

一時ファイルのパスを取得するにはどうすればいいですか? 質問する

tmpfile を使用して一時ファイルを作成し、そこに書き込み、不要になったら閉じることができることは知っています。しかし、問題は、次のようにファイルへの絶対パスが必要になることです。

"/var/www/html/lolo/myfile.xml"

他の関数やトリックを使っても、何とかパスを取得できますか?

編集:

データベースからファイルをダウンロードできるようにしたいのですが、

$fh = fopen("/var/www/html/myfile.xml", 'w') or die("no no");
fwrite($fh, $fileData);
fclose($fh); 

このようにすると、複数の人が同時に同じファイルをダウンロードしようとした場合に重複する可能性があるからです。それとも私が間違っているのでしょうか?

編集2:

おそらく、このように一意の (uniqID) ファイル名を生成して、削除するだけでよいと思います。それとも、多くの人がダウンロードする場合、サーバーの負荷が大きすぎるのでしょうか?

ベストアンサー1

これを達成するには多くの方法がありますが、ここではその1つを紹介します

<?php 
// Create a temp file in the temporary 
// files directory using sys_get_temp_dir()
$temp_file = tempnam(sys_get_temp_dir(), 'MyFileName');
echo $temp_file;
?>

上記の例では、次のようなものが出力されます: /var/tmp/MyFileNameX322.tmp

おすすめ記事