Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: диалог сохранения при нажатии на ссылку с картинкой
 
 автор: skinny   (18.05.2010 в 16:58)   письмо автору
 
 

как бы так сделать чтобы при нажатии на ссылку, которая ссылается на картинку, не открывалась эта картинка а появлялся бы диалог с предложением сохранить файл?

  Ответить  
 
 автор: Gubichev   (18.05.2010 в 17:00)   письмо автору
 
   для: skinny   (18.05.2010 в 16:58)
 

header("Content-Disposition: attachment; filename=gggg.jpg");
header("Content-Type: application/x-force-download");

  Ответить  
 
 автор: Tonik992   (18.05.2010 в 17:02)   письмо автору
 
   для: skinny   (18.05.2010 в 16:58)
 

header("Content-Type: application/force-download; name=\"".$_GET['file']."\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ". filesize($_GET['file'] ."");
header("Content-Disposition: attachment; filename=\"".$_GET['file']."\"");
readfile($_GET['file']);
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

$_GET['file'] - путь к файлу..
Запихни это в свой файл... и сделай проверку, к примеру:
if(is_file($_GET['file'])){
.... //Код
}

  Ответить  
 
 автор: Tonik992   (18.05.2010 в 17:11)   письмо автору
 
   для: Tonik992   (18.05.2010 в 17:02)
 

Чтоб совсем понятно было:
<?php
if(is_file($_GET['file']) && $_GET['file']=="index.php") {
    
header("Content-Type: application/force-download; name=\"".$_GET['file']."\"");
    
header("Content-Transfer-Encoding: binary");
    
header("Content-Length: "filesize($_GET['file']));
    
header("Content-Disposition: attachment; filename=\"".$_GET['file']."\"");
    
readfile($_GET['file']);
    
header("Expires: 0");
    
header("Cache-Control: no-cache, must-revalidate");
    
header("Pragma: no-cache");
}
?>
<a href="?file=index.php">GET FILE</a>


НО!!
Использование GET и POST запросов для передачи пути к файлу очень не безопасны.. Поэтому следует делать тщательную проверку, чтобы пользователь ничего не нужное не смог скачать, кроме как твоих изображений

  Ответить  
 
 автор: skinny   (18.05.2010 в 17:38)   письмо автору
 
   для: Tonik992   (18.05.2010 в 17:11)
 

круто
тока я ничё не понял :)
можно как нибуть расжевать как в книжке?

  Ответить  
 
 автор: cheops   (21.05.2010 в 10:09)   письмо автору
 
   для: skinny   (18.05.2010 в 17:38)
 

Здесь скрипт передает сам себя.
<?php 
// Проверяем существование файла is_file() и совпадение
// его с index.php, чтобы в GET-параметр file не подставили что-то другое
if(is_file($_GET['file']) && $_GET['file']=="index.php") { 
    
// Отправляем HTTP-заголовок, передающий название файла, оно будет
    // предложено в качестве имени по умолчанию при сохранении
    
header("Content-Type: application/force-download; name=\"".$_GET['file']."\""); 
    
header("Content-Transfer-Encoding: binary"); 
    
// Передаем длину файла, вычиляя её при помощи filesize()
    
header("Content-Length: "filesize($_GET['file'])); 
    
// Отправляем HTTP-заголовок, передающий файл клиенту
    
header("Content-Disposition: attachment; filename=\"".$_GET['file']."\""); 
    
// Передаем содержимое файла
    
readfile($_GET['file']); 
    
// Запрещаем кэширование
    
header("Expires: 0"); 
    
header("Cache-Control: no-cache, must-revalidate"); 
    
header("Pragma: no-cache"); 
   
// Обязательно останавливаем скрипт, иначе к файлу-изображению
   // добавится ссылка
   
exit();

?><a href="?file=index.php">GET FILE</a>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования