ユーザーに別の名前のファイルをダウンロードさせることは可能ですか?
たとえば、「4324ffsd34.jpg」というファイルがあります。元のファイルの名前を変更せずに、download.phpを介して別の名前(「filetodownload.jpg」など)でダウンロードしてほしい。
確かに、Content-disposition header を使用してください
header('Content-Disposition: attachment; filename="filetodownload.jpg"');
自動ダウンロードではなくデフォルトのファイル名を提供したい場合、これはうまくいくようです。
header('Content-Disposition: filename="filetodownload.jpg"');
もちろん、次のようなことを試してください。
$original_filename = '4324ffsd34.jpg';
$new_filename = 'my_new_filename_is_detailled.jpg';
// headers to send your file
header("Content-Type: application/jpeg");
header("Content-Length: " . filesize($original_filename));
header('Content-Disposition: attachment; filename="' . $new_filename . '"');
// upload the file to the user and quit
readfile($original_filename);
exit;
それが役に立てば幸い!
Html5を使用している場合、別の方法もあります
<a href="link/to/my/file/with/a/name/i/dont/like.jpg" download="MyFile.jpg">Download</a>
乾杯:3
<a href="4324ffsd34.jpg" download="filetodownload">Download</a>
上記に問題はありませんが、追加する必要がありました。
ob_clean();
flush();
readfileの前
そうしないと、ダウンロードjpg/pngファイルを開くことができません