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 » » Работа с файловой системой и файлами » загрузка картинок с сайта на комп

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

1. broshurkaplus - 06 Ноября, 2011 - 20:44:08 - перейти к сообщению
здравствуйте

нужна кнопка или сылка загрузка картинок с сайта на комп

пример
есть имя картинки (она типа 2000*2000) в базе
на странице вывожу превью
по нажатию подгружаю изо типа 500*250 и сылку /посмотреть оригинал 2000*2000/ которая грузит оригинал в новом окне
если юзеру хочется скачать эту картинку в оригинальном размере то он открывает оригинал жмёт правой и сох ранить как...
а я хочу поставить кнопочку или текст.сылочку скачать эту картинку (урл картинки выведу из базы), стобы юзер клякнул по ней и пошла загрузка...

чото не нашёл такого, везде загрузка на сайт!

подскажите чтонить
спасибо
2. sKaa - 06 Ноября, 2011 - 21:21:14 - перейти к сообщению
как-то так
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header ("Content-type: image/gif");        
  3. ?>
3. ams - 08 Ноября, 2011 - 12:27:39 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. header ("Content-type: image/png");    
  3. header('Content-Disposition: attachment; filename="down.png"');
  4.  
4. broshurkaplus - 09 Ноября, 2011 - 17:42:23 - перейти к сообщению
простите можно популярней

вот сылка
<a class="c" href="картинка-блабла" alt="каритнка" align="center" title="каритнка">скачать</a>

имя картинки из бд прикреплю, что куда прописать , чтоб по клику пошла загрузка?
5. LIME - 09 Ноября, 2011 - 18:08:15 - перейти к сообщению
тег
PHP:
скопировать код в буфер обмена
  1. <a class="c" href="картинка-блабла.php" alt="каритнка" align="center" title="каритнка">скачать</a>
картинка-блабла.php
PHP:
скопировать код в буфер обмена
  1. header ("Content-type: image/png");    
  2. header('Content-Disposition: attachment; filename="картинка.png"');
  3.  
6. broshurkaplus - 09 Ноября, 2011 - 18:21:57 - перейти к сообщению
простите может я не догоняю , но если так сделать то оно чото открывает нужную картинку в новом окне

я бы хотел чтобы эта сылка была на странице подгружаемой по нажатию на превью (в1посте описано)
7. LIME - 09 Ноября, 2011 - 18:28:14 - перейти к сообщению
не догоняете
(Добавление)
в теге ссылки пишем адрес скрипта обработчика
в скрипте пишем заголовки
8. broshurkaplus - 09 Ноября, 2011 - 19:37:09 - перейти к сообщению
спасибо , это сделал.

чтото не до конца получается
передаю параметр в сылке

CODE (htmlphp):
скопировать код в буфер обмена
  1. <a class="a" href="up.php?имя_картинки" alt="каритнка" align="center" title="каритнка">скачать</a>


в обработчике
принимаю и проверяю имя и передаю и вывожу
CODE (htmlphp):
скопировать код в буфер обмена
  1. header ("Content-type: image/jpeg");
  2. header('Content-Disposition: attachment; filename="имя_картинки.jpg"');

файл загружается на комп, но пустой (на компе размер =0 )

+мой файл в другой папке те мне надо типа
header('Content-Disposition: attachment; filename="/img/имя_картинки.jpg"');
9. DeepVarvar - 09 Ноября, 2011 - 19:43:05 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. header ('Content-Type: application/octet-stream');
  2. header ('Accept-Ranges: bytes');
  3. header ('Content-Length: '.filesize("/full/path/do/file.ext")); // любое расширение
  4. header ('Content-Disposition: attachment; filename=file.ext'); // как назовете так и будет
  5. readfile("/full/path/do/file.ext");
  6. exit();
10. broshurkaplus - 09 Ноября, 2011 - 20:32:42 - перейти к сообщению
спасибо вроде заработало

правильно ли я понял
octet-stream позволяет любые файлы скачивать
узнав размер мы можем организовать прогресс загрузки
/full/path/do/file.ext - тут поставил не полный а относительный путь
filename=file.ext или filename="file.ext" не сыграло роли тут имя под которым сохранится можно имя сайта, но расширение работает тока .jpg в хроме и опере работает

как раз нагуглит чтото похожее для организации скачивания файлов
кстати полагаю этот вариант больше подходит тк юзер не видит где файл лежит, а при попытке открыть up.php сразу происходит загрузка

щас доделаю передачу имени и пока всё ок
как бы ещё скрыть полный путь при просмотре в полный экран?
и если можно гляньте мою темку в HTTP и PHP

 

Powered by ExBB FM 1.0 RC1