Ссылка на скачивание с использованием php - PullRequest
3 голосов
/ 07 декабря 2011

Я скачал этот код для использования в качестве кнопки загрузки.

<?    
    $filename = $_GET["filename"];
    $buffer = file_get_contents($filename);

    /* Force download dialog... */
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");

    /* Don't allow caching... */
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

    /* Set data type, size and filename */
    header("Content-Type: application/octet-stream");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: " . strlen($buffer));
    header("Content-Disposition: attachment; filename=$filename");

    /* Send our file... */
    echo $buffer; 
?> 

Дело в том, что имя файла заканчивается целым путем в имени файла, например, этот код:

<a href="download.php?filename=images/something.jpg">

Заканчивается изображением с именем "images_something.jpg"

Я бы хотел удалить "images_" из окончательного имени файла, пока мне не повезло.

Спасибо за помощь!

Ответы [ 3 ]

3 голосов
/ 07 декабря 2011

Если вам нужна часть имени файла без имени папки, вы должны использовать basename ($ filename) http://php.net/manual/en/function.basename.php

2 голосов
/ 07 декабря 2011
$filename = basename($filename); 
header("Content-Disposition: attachment; filename=$filename");

Установить имя файла только в качестве базового?

Не делайте это сверху, если только вы не измените переменные, поэтому ваш путь к нему все еще работает.

2 голосов
/ 07 декабря 2011

базовое имя ()

$filename = basename($path);

p.s

Установка Content-Type несколько раз может быть не лучшим способом принудительной загрузки. Кроме того, я надеюсь вы очищаете этот аргумент $filename перед использованием file_get_contents.

p.p.s

Используйте readfile , не кэшируйте его в памяти.

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