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 :: Получить файл вместе с HTTP-заголовками

 PHP.SU

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


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

> Без описания
Abyrvalg
Отправлено: 24 Июня, 2011 - 11:43:42
Post Id


Новичок


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


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




Привет тебе, о несравненный All!

Есть, наверное, несложная задачка, в которой я затупил.
Надо получить по HTTP файл. Притом желательно одновременно с этим выяснить, какой Content-Type ему приписывает сервер-отправитель.

Для получения файла есть замечательная функция file_get_contents.
Для получения заголовков есть не менее замечательная функция get_headers.
Первая функция получает только содержимое файла и ничего не говорит о заголовках. Вторая функция получает только заголовки, но не файл. Но мне надо и то, и другое.

Как быть?

Перспектива изобретать велосипед путём обращения к серверу через сокет и парсинга сырых ответов как-то не радует.
Вызывать поочерёдно обе функции - заманчивый выход, но кривой. Вполне прокатит, если с помощью скрипта нужно получить 5-10 файлов. А если раз в тысячу больше? Ведь HTTP-запросов будет ровно в два раза больше, чем нужно, поскольку для получения каждого файла придётся отправлять два запроса.

Есть ли простое решение этой проблемы?
 
 Top
EuGen Администратор
Отправлено: 24 Июня, 2011 - 11:49:03
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Есть. Называется curl
http://forum.php.su/topic.php?fo...=62&topic=31


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Abyrvalg
Отправлено: 24 Июня, 2011 - 14:32:04
Post Id


Новичок


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


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




Спасибо, вроде всё доступно.

А не пробовал ли кто с помощью таких скриптов делать зеркала сайтов? Ну, к примеру, есть домен 1, на котором реально крутится сайт, и домен 2 (пустой). На хостинге домена 2 в .htaccess прописываем перенаправление типа:
Цитата:
ErrorDocument 404 /404.php

и в указанном скрипте обрабатываем все запросы на несуществующие файлы, подгружая вместо них реальные аналоги с сайта 1. По идее должно ведь такое сработать?

(Отредактировано автором: 24 Июня, 2011 - 14:33:31)

 
 Top
EuGen Администратор
Отправлено: 24 Июня, 2011 - 14:35:12
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Можно и так, только зачем? Можно гораздо проще. mod-rewrite какой-нибудь.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Abyrvalg
Отправлено: 24 Июня, 2011 - 15:38:49
Post Id


Новичок


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


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




EuGen пишет:
Можно и так, только зачем? Можно гораздо проще. mod-rewrite какой-нибудь.


Дабы не плодить оффтоп, написал в личку. Сорри Улыбка
 
 Top
EuGen Администратор
Отправлено: 24 Июня, 2011 - 15:41:38
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




По поводу Вашего вопроса - для того, чтобы domain2.com отображался как domain1.com - не проще ли сделать альяс в определении соответствующего виртуального хоста?
Это, конечно, не совсем "зеркало" будет (в строгом смысле данные из одного места будут браться), но веб-сайт будет доступен как для domain1.com так и для domain2.com


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Abyrvalg
Отправлено: 24 Июня, 2011 - 15:57:11
Post Id


Новичок


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


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




А какой URL при этом будет отображаться в адресной строке? С domain2.com или с domain1.com?
 
 Top
EuGen Администратор
Отправлено: 24 Июня, 2011 - 15:57:41
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




domain2.com (Вы же альяс сделаете)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Abyrvalg
Отправлено: 24 Июня, 2011 - 16:19:28
Post Id


Новичок


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


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




Вот я слепил директиву Alias в .htaccess, и она меня перебрасывает на domain1.com (основной сайт).
А если надо править свойства виртуального хоста (т.е. внутри секции VirtualHost), то кто ж мне такое даст...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB