2013-06-04 1 views
0

Я хочу сохранить вывод ниже ссылки в file.xml, но он не работает для меня. Он просто отображает вывод в другом браузере.Сохранить вывод браузера в xml-файл в php

$url = 'http://www.forexwire.com/feed/full?username=alumfx&password=T7M9Exb4'; 
$fp = fopen (dirname(__FILE__). '/file.xml', 'w+'); 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_TIMEOUT, 50); 
curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_exec($ch); 
curl_close($ch); 
$ch->save('file.xml'); 
fclose($fp); 
+0

'$ ch-> save' что это? Curl_init возвращает handle для зависания ресурса, а не объекта, который имеет метод сохранения. – Robert

ответ

0

По умолчанию функция exec CURL возвращает результат как стандартный вывод. Вам нужно добавить это, чтобы сделать его возвращает результат в виде строки:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

затем просто сохранить его в переменной

$output = curl_exec($ch); 
//do whatever with the $output 

Так что полный фрагмент кода может выглядеть следующим образом:

$ch = curl_init('http://www.forexwire.com/feed/full?username=alumfx&password=T7M9Exb4'); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 50); 
$output = curl_exec($ch); 
curl_close($ch); 
file_put_contents('path/to/file', $output); 
+0

с этим я смог отображать только часть данных, а не целые данные. –

+0

Извините, не уверен, что я понял, что вы подразумеваете под «частью данных». этот код извлекает всю страницу и вместо печати на стандартный вывод возвращает его как строку. ничего больше не меняется. кстати, проверяю обновление на свой ответ, я добавляю полный фрагмент кода с извлечением и сохранением страницы. – akhilless

 Смежные вопросы

  • Нет связанных вопросов^_^