посоветуйте скрпит которым можно по клику скачивать изображение? есть такие скрипты, с поможью которого при желании можно другие php файлы и прочие при помощи его выкачать, вот например этот: PHP: <?php header('Content-type: application/octet-stream'); header("Content-Disposition: attachment; filename=".$_GET['url']); $x = fread(fopen($_GET['url'], "rb"), filesize($_GET['url'])); echo $x; ?> можно ли сделать чтобы только изображения скачивались?
несовсем понял, ты хочешь чтобы вставить в скрипт урл и чтобы он скачал все картинки на странице, так?
нет, картинки только нужные надо скачать, ссылку на скачку я сделаю сам надо что то подобное: http://site.ru/img.php?url=images/imag.png вот только если вставить вместо images/imag.png путь на php файлы, то скачает этот файл
такие программы уже есть - пользуемся гуглом или тебе нужно чтобы было на пхп написано? если это не обязательно вот хорошая прога Picture Pump
Выбираеш функцию: http://habrahabr.ru/blogs/php/37753/ Создаеш условие сравнения с нужными тебе расширениями файлов. PHP: $file_name = "";//файл $mime = 'application/force-download'; header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Cache-Control: private',false); header('Content-Type: '.$mime); header('Content-Disposition: attachment; filename="'.basename($file_name).'"'); header('Content-Transfer-Encoding: binary'); header('Connection: close'); readfile($file_name); exit(); }
что то у меня ничего не вышло, либо php вообще не работает скачка, либо скачивает через него любые php файлы с сервера: http://site.ru/img.php?url=scripts/action.php пробовал через .htaccess поставить запреты, но в таком случаи php скрипт не выполняется <Files action.php> deny from all </Files> как вариант можно ли сделать без базы данных генерацию временной ссылки - пусть даже на один заход - для изображения, возможно ли сделать на js или php ? поискал мануалы по интернету, там только с mysql был пимер
Перед отдачей файла делаешь проверку на расширение, например - если png/jpg/gif - отдаешь. Получить расширение можно с помощью функции pathinfo() - http://php.net/manual/en/function.pathinfo.php
GAiN Вы заказывали возможность скачивания произвольных файлов с помощью ПХП. Вы это получили. Проблемы фильтрации и прочего, мне кажется, вы способны решить сами Если вы придумаете как хранить эту самую временную ссылку без БД - то запросто
http://www.php.net/manual/en/function.fwrite.php http://php.net/manual/ru/function.file-put-contents.php сильные вопросы
кто скажет что не работает - тот дурак PHP: <?php if(isset($_GET['image'])){ $file = $_GET['image']; if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); flush(); readfile($file); exit; } } ?> пользоваться так http://site.com/script.php?image=./images/image.jpg