Изображение кнопки «Сохранить как» для сохранения файла с внешних серверов php скрипт - PullRequest
0 голосов
/ 07 января 2012

У меня есть галерея изображений на моем сервере. Картинки хранятся на разных внешних серверах. На моем сервере размещены только миниатюры. Как я могу сделать кнопку «сохранить как» в php, чтобы пользователь мог загрузить большой файл изображения, который с внешних серверов. Мне нужен простой скрипт php, который может скачать файл jpg через все агенты браузера и с разных внешних серверов. Кнопка будет реализована внутри HTML-кода. Кнопка представляет собой обычную ссылку, созданную в стиле CSS. Так как это сделать правильно. Спасибо.

Хотелось бы также, чтобы путь к файлу как-то передавался как параметр переменной в скрипт php.

Ответы [ 3 ]

1 голос
/ 07 января 2012

Я предполагаю, что вы пытаетесь автоматически загрузить изображения (вы хотите, чтобы появилось диалоговое окно с предложением сохранить файл).

На этом сайте есть отличный учебник, который использует php header function to force download

Проверьте это: http://www.ryboe.com/tutorials/php-headers-force-download

0 голосов
/ 07 апреля 2013

Удалите пробелы из имени файла:

измените: http://backalleypics.com/Pictures/Letter Je~Ju/Jessica Alba/Jessica Alba 230.jpg

на: http://backalleypics.com/Pictures/Letter_Je~Ju/Jessica_Alba/Jessica_Alba_230.jpg

0 голосов
/ 07 января 2012

Я нашел решение с помощью следующего php-скрипта

<?PHP
 // Define the path to file
 $file = $_GET['file'];
 $name = basename ($file);
 if(!file)
 {
 // File doesn't exist, output error
 die('file not found');
 }
 else
 {
 // Set headers
 header("Cache-Control: public");
 header("Content-Description: File Transfer");
 header("Content-Disposition: attachment; filename=$name");
 header("Content-Type: image/jpg");
 header("Content-Transfer-Encoding: binary");

 // Read the file from disk
 readfile($file);
 }
 ?>

и я могу отправить параметры, такие как URL-адрес перекрестного HTML-кода

<a href="download.php?file=http://someserver/picture.jpg">download</a>

Единственная проблема в том, что он работает не со всеми серверами. Для примера это не проблема,

http://backalleypics.com/Pictures/Letter Je~Ju/Jessica Alba/Jessica Alba 230.jpg

Я не знаю, что мне нужно делать?

...