2010-10-11 3 views
1

Код, вставленный ниже, работает на моем ПК, но не на моем хостинге (который установил PHP 5.2.13).Проблема PHP с разбором DOM

$source = file_get_contents('http://example.com/example', 0); 
$dom = new DOMDocument; 
@$dom->loadHTML($source); 
$dom->preserveWhiteSpace = false; 

$xpath = new DOMXPath($dom); 
$tags = $xpath->query('//div[@class="item"]'); 

$xml = '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n<root>\r\n"; 

foreach($tags as $tag) 
    $xml .= "\t<tag>" . trim($tag->nodeValue) . "</tag>\r\n"; 

$xml .= '</root>'; 

$xml_file = 'tags.xml'; 
$fopen_handle = fopen($xml_file, 'w+'); 
fwrite($fopen_handle, $xml); 
fclose($fopen_handle); 

На мой хостинг, цикл Еогеасп не исполняет то я получаю только это в XML:

<?xml version="1.0" encoding="UTF-8"?> 
<root> 
</root> 

Спасибо заранее.

+1

Это требует базовой отладки. Что делает 'error_reporting (E_ALL);' результат? –

ответ

0

Ваш хостинг не поддерживает file_get_contents (allow_url_fopen является установка IIRC)

Попробуйте это:

$ch = curl_init(); 
$timeout = 0; 
curl_setopt ($ch, CURLOPT_URL, 'http://example.com'); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
$file_contents = curl_exec($ch); 
curl_close($ch); 
+0

Большое спасибо Snake. Thumb down для http://www.m2host.com – 2010-10-11 12:46:19

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