как переименовать скачанный файл через ajax - PullRequest
0 голосов
/ 16 февраля 2019

Для загрузки файла через ajax у меня есть этот php-код, и он отлично работает

if($_POST['downloadfile']) {
    $downloadfile = $_POST['downloadfile'];
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename= $downloadfile");
    header("Content-Transfer-Encoding: binary");  

    @readfile($downloadfile);
    exit;
}

Значение $_POST['downloadfile'] - это путь к файлу;как uploads/image.jpg

При загрузке файла имя файла создается браузером как uploads_image.jpg Как заставить браузер дать ему только имя image.jpg?

Я попробовал это с ниже с basename, но, конечно, это не работает:

header("Content-Disposition: attachment; filename= basename($downloadfile"));

1 Ответ

0 голосов
/ 16 февраля 2019

Немного измените эту строку заголовка так, чтобы: а) функция basename была «видна» и выполнялась б) имя файла заключалось в кавычки, если в имени есть пробел.

header('Content-disposition: attachment; filename="' . basename($downloadfile) . '"');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...