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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Загрузка и отдача картинки через PHP (аля Proxy)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
wmk
Отправлено: 11 Ноября, 2012 - 14:52:30
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Ребят! подскажите такой момент, можно ли отдавать картинку средствами php постепенно, то есть если картинка большая, в браузере она грузится постепенно по мере получения оной, а если отдавать через php то она сначала подгрузится сервером и потом разом отдастся браузеру. Суть в том можно ли сделать постепенную отдачу кусок получил - отдал, получил - отдал.

Смысл всего этого извращения в том чтоб по ссылке
http://site[dot]ru/picture[dot]jpg
открывалось
http://other-site[dot]ru/pic[dot]jpg
и грузилось без тормозов

Буду рад если подскажете как сделать правильно Закатив глазки
 
 Top
Zuldek
Отправлено: 11 Ноября, 2012 - 15:16:44
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




1. Отдавать можно что хотите и как хотите. Хоть по байтам.
Цитата:
в браузере она грузится постепенно по мере получения оной

Этим вы управлять не можете.
Цитата:
а если отдавать через php то она сначала подгрузится сервером и потом разом отдастся браузеру

Что вы подразумеваете под "сначала подгрузится сервером"?
Если ваша картинка лежит на другом сервере, то браузере запрашивает её у другого сервера и ваш в этом никак не участвует.
2. В этом нет совершенно никакого смысла.

(Отредактировано автором: 11 Ноября, 2012 - 15:18:27)

 
 Top
avtor.fox
Отправлено: 11 Ноября, 2012 - 15:18:32
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




js onload - событие
 
 Top
halsoft
Отправлено: 11 Ноября, 2012 - 15:33:20
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Нояб. 2012  
Откуда: The Land of Chechens


Помог: 3 раз(а)




Автор скорее всего хочет просто тянуть картинки с другого сайта и отдавать их как свои.


-----
Хорошие дела улучшают настроение, делают жизнь счастливей, а людей человеками.
 
 Top
Zuldek
Отправлено: 11 Ноября, 2012 - 15:43:54
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Формулировать вопрос хотя бы нужно правильно чтобы не били в шаманский бубен угадывая что требуется.
 
 Top
wmk
Отправлено: 11 Ноября, 2012 - 17:32:20
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




halsoft пишет:
просто тянуть картинки с другого сайта и отдавать их как свои.

ну примерно так, картинки лежат на разных серверах (сейчас их 8), а если ссылатся на них всех, то уходит и PR и ТИЦ поэтому нужно нечто вроде прокси. Получается что когда заходишь на страницу то картинки грузятся очень долго, а хочется чтоб отдавались быстрее. Вопрос в том как отдавать запрашиваемые картинки по мере загрузки их сервером
 
 Top
NoPaper
Отправлено: 11 Ноября, 2012 - 18:19:45
Post Id



Посетитель


Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012  
Откуда: Минск


Помог: 9 раз(а)




image.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header('Content-type: image/jpg');
  3. echo file_get_contents($_GET['image']);
  4. ?>


обращаться к скрипту так:
CODE (html):
скопировать код в буфер обмена
  1. <ims src='image.php?image=http://картинка-на-другом-сайте'/>


p.s. про безопасность скрипта не было ни слова =)
 
 Top
wmk
Отправлено: 11 Ноября, 2012 - 18:34:32
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




NoPaper пишет:
p.s. про безопасность скрипта не было ни слова =)

тут вопрос не про безопасность, а про работоспособность, он пока картинку полностью не загрузит, ничего и не отдаст Огорчение
 
 Top
avtor.fox
Отправлено: 11 Ноября, 2012 - 19:27:43
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




wmk объясните нормальным языком. На других серверах Ваши изображения или сторонние? И имеете ли доступ к серверам?

И ещё раз, доходчиво. Картинку загружает браузер.

И моё мимолётное, идиотское представление -

PHP:
скопировать код в буфер обмена
  1. $img = array('dedsert.jpg', 'chrysanthemum.jpg');
  2. function getImgTmp($img){
  3.         $imgPath = 'img/';
  4.         $infoFile = pathinfo($imgPath.$img);
  5.         $unic = str_replace(str_split('.:,-'), '', uniqid('img', time()));
  6.         if(file_exists($imgPath.$img)){
  7.                 if(copy($imgPath.$img, $unic.'.'.$infoFile['extension'])){
  8.                         return $unic.'.'.$infoFile['extension'];
  9.                 }
  10.                 else{
  11.                         return 'img_error_403.jpg';
  12.                 }
  13.         }
  14.         else{
  15.                 return 'img_error_404.jpg';
  16.         }
  17. }
  18. print_r(array_map('getImgTmp', $img));


Но в таком случае картинки будут заливаться на головной сервер и после отображаться. И вот ещё, даже если картинки будут на головном сервере, быстрее они грузиться всё равно не будут, так как их грузит браузер по пруфу.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Графика в PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB