2013-03-09 1 views
0

Я создал сценарий, который создает ссылку API IMDB для фильма в формате XML.Сохранить страницу как XML

После создания этой ссылки он сохранит файл XML с его содержимым. Единственная проблема заключается в том, что содержимое не сохраняется.

Ссылка генерироваться:
http://imdbapi.org/?title=One+Piece&type=xml&plot=simple&mt=none&episode=0&aka=simple&release=simple

PHP скрипт:

$url="http://imdbapi.org/?title=One+Piece&type=xml&plot=simple&mt=none&episode=0&aka=simple&release=simple"; 

    $curl = curl_init(); 
    $data = fopen("text.xml", "w"); 
    curl_setopt ($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_FILE, $data); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
    curl_exec ($curl); 

    if (!$data) { 
    echo "No"; 
} else { 
    $contents = curl_exec($curl); 
    fwrite($data, $contents); 
} 

curl_close($curl); 
fclose($data); 
+0

Обычно это работает, но вы можете [увеличить отчеты об ошибках, так PHP говорит вам о уведомлениях, предупреждениях и ошибках] (http://stackoverflow.com/a/14504459/367456). – hakre

+0

Еще один глупый вопрос о типографии ... –

ответ

0

Вместо того, чтобы использовать file_get_contents, вы можете использовать CURL

$ch = curl_init('http://imdbapi.org/?title=One+Piece&type=xml&plot=simple&mt=none&episode=0&aka=simple&release=simple'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$response = curl_exec($ch); 
curl_close($ch); 

Теперь $ ответ должен содержит ваш XML. И вы можете сделать что-то вроде

file_put_contents('filename.xml', $response); 

убедитесь, что filename.xml перезаписывает

+0

Но об этом не спрашивают. – hakre

+0

@hakre: спасибо. Я пытаюсь улучшить его – goFrendiAsgard

+0

Я обновил исходный ответ. Проблема в том, что он будет записывать в текстовый файл, но не в xml – Ryahn