Загрузка файла с другим именем в сохраненное имя

Можно ли позволить пользователю загружать файл с другим именем?

Например, есть файл под названием «4324ffsd34.jpg». Я хочу, чтобы люди загружали его через download.php с другим именем (например, filetodownload.jpg) без переименования исходного файла.

Related of "Загрузка файла с другим именем в сохраненное имя"

Конечно, используйте заголовок Content-disposition

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

Ничего плохого в этом не было, но мне пришлось добавить:

 ob_clean(); flush(); 

перед чтением файла

в противном случае я не могу открыть файл загрузки jpg / png

 <a href="4324ffsd34.jpg" download="filetodownload">Download</a>