Safari: при нажатии кнопки «Сохранить как» имя файла не отображается - PullRequest
0 голосов
/ 27 ноября 2018

Пользователь моего веб-сайта может загружать файлы.

Пример:

<a href="download.php?path=files/videos/myvideo.avi">My Video</a>

Моя проблема: в Safari, когда пользователь нажимает «Сохранить как», предлагаемое имя файла - нет »myvideo.avi ", но" download.php ".Эта проблема НЕ возникает, например, в Chrome.

PHP-код для скачивания (download.php):

$path = $_GET['path'];
$doctype = end(explode('.', $path));
$dateiname = end(explode('/', $path));
header("Content-type: application/" . $doctype);
header("Content-disposition: attachment; filename=\"" . $dateiname . "\"");
header("Content-Length: " . filesize($path));
$fp = fopen($path, 'rb');
fpassthru($fp);

Как мне добиться этого в Safari "myvideo.avi" предлагается какимя файла при нажатии «Сохранить как»?

1 Ответ

0 голосов
/ 27 ноября 2018

Скорее всего, проблема связана с тем фактом, что, как написано, сценарий в файле download.php не имел возможности сработать при загрузке страницы.Я думаю, вам нужно выполнить какой-то реальный код PHP на вашей странице, чтобы получить правильную ссылку.

<a href="<?php **CODE THAT RETURNS CORRECT PATH** ?>">My Video</a>

или поочередно

<?php **CODE THAT GENERATES STRING OF CORRECT PATH**

echo "<a href='".$filepath."'>My Video</a>";

?>

Это гарантирует, что скрипт .php будет работать независимотого, какой браузер используется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...