Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сохранение изображения у пользователя
Форумы портала PHP.SU » » Графика в PHP » Сохранение изображения у пользователя

Страниц (1): [1]
 

1. Albertino - 22 Декабря, 2011 - 11:16:37 - перейти к сообщению
Ситуация следующая:
Допустим есть изображение располагающееся в /img/img_1.jpg
и нужно чтоб переходя по ссылке <a href="">сохранить</a> у пользователя спрашивалось сохранить изображение, а не просто выводилось бы на экран
сделал так:
<a href="file.php?cont=/img/img_1.jpg">сохранить</a>
a в php
PHP:
скопировать код в буфер обмена
  1. if (isset($_GET['cont']) && $_GET['cont'] != ""){
  2.   header("Content-type: image/jpeg");
  3.   header("Content-Disposition: attachment; filename=".$_GET['cont']);
  4.   print(file_get_contents($_SERVER['SERVER_NAME'].$_GET['cont']));
  5. }

но сохраняется пустой файл, как сделать правильно?
2. EuGen - 22 Декабря, 2011 - 11:23:47 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. header('Content-Description: File Transfer');
  2. header('Content-Type: application/octet-stream');
  3. header("Content-Disposition: attachment; filename=".$_GET['cont']);
  4. header('Content-Transfer-Encoding: binary');
  5. header('Expires: 0');
  6. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  7. header('Pragma: public');
  8. header('Content-Length: ' . filesize($_SERVER['SERVER_NAME'].$_GET['cont']));
  9. readfile($_SERVER['SERVER_NAME'].$_GET['cont']);
3. Albertino - 22 Декабря, 2011 - 11:57:30 - перейти к сообщению
EuGen,
Попробовал так сделать, но почему то все равно изображение пустое

а вот убрал строку header('Content-Length: ' . filesize($file)); и все заработало, не может сосчитать размер файла

EuGen, спасибо большое

 

Powered by ExBB FM 1.0 RC1