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

Форум PHP

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

 

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

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

тема: Не могу закачать содержимое страницы с помощью file_get_contents
 
 автор: Gangster   (04.08.2008 в 16:26)   письмо автору
 
 

Здравствуйте. Такая проблема, не закачивается контент страницы. Код следущий:

<?php
//Загружаем страницу с удаленного хоста
    
$content file_get_contents ("http://www.youtube.com/");
    
//Сохраняем содержимое страницы в файле
    
$fd fopen ("youtube.html""w");
    
fwrite ($fd$content);
    
fclose($fd);
    
?>

Вот, а если в $content поставить другой URL, например softtime.ru, все работает. Подскажите, в чем проблема. Заранее благодарен.

  Ответить  
 
 автор: t3ma   (04.08.2008 в 16:32)   письмо автору
 
   для: Gangster   (04.08.2008 в 16:26)
 

мне кажется надо имитировать что зашел пользователь на сайт, а так не получится

  Ответить  
 
 автор: Gangster   (04.08.2008 в 16:42)   письмо автору
 
   для: t3ma   (04.08.2008 в 16:32)
 

Спасибо за ответ. Но я новичок. НЕ поможите? приведите пример.

  Ответить  
 
 автор: DDK   (04.08.2008 в 16:45)   письмо автору
 
   для: Gangster   (04.08.2008 в 16:26)
 

Почитайте описание функции fsockopen() (domain socket connection). Примеров использования там тоже навалом.

Другой вариант - CURL. Но для новичка это будет более тернистым и тёмным лесом, лучше сначала разобраться с сокетами.

  Ответить  
 
 автор: Trianon   (04.08.2008 в 17:04)   письмо автору
 
   для: DDK   (04.08.2008 в 16:45)
 

Для новичка из этих двух инструментов стократ более сложным будет именно fsockopen.
Потому что тогда ему придется реализовывать протокол http самостоятельно, в то время как именно этот вопрос библиотека curl берет на себя.

А примеров использования сокетов и вправду навалом. Дерьмовых.
Примеров корректной реализации протокола на сокетах не встретишь днем с огнем.

Применяя curl, конечно, тоже можно напахать. Но сделать это труднее.

  Ответить  
 
 автор: DDK   (04.08.2008 в 17:35)   письмо автору
 
   для: Trianon   (04.08.2008 в 17:04)
 

Проблемы с CURL обычно сводятся именно к отсутствию оной библиотеки на сервере. Я видел лишь единицы хостеров, у которых она предустановлена по умолчанию. Ставить её самому через SSH - точно задача не для новичка, а заставить сделать это хостера - порой задача невыполнимая даже для опытного программера (из своего опыта, опять же) :))

К тому же, для новичка освоить принцип работы с сокетами будет как минимум полезным опытом.

  Ответить  
 
 автор: BinLaden   (04.08.2008 в 17:50)   письмо автору
 
   для: DDK   (04.08.2008 в 17:35)
 

Хитрите, DDK. Уже про установку начали говорить...

> Я видел лишь единицы хостеров, у которых она предустановлена по умолчанию.

А я видел единицы, где она не установлена. :) Неужели я такой везучий?

Gangster, а Вам может пригодится это

<?php
$headers 
= array(
'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*\/*;q=0.5',
'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7',
'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16'
);
    
$options = array(
'http' => 
    array(
        
'header'=> implode("\r\n"$headers)
    ) 
); 

$context stream_context_create($options);

$content file_get_contents('http://www.youtube.com/'false$context);
?>

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

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