2013-03-09 4 views
0

J'ai créé un script qui génère un lien API IMDB pour un film en XML.Enregistrer la page en format XML

Une fois ce lien généré, il sera sauvegardé dans un fichier XML avec son contenu. Le seul problème est que le contenu ne sauvegarde pas.

Lien généré:
http://imdbapi.org/?title=One+Piece&type=xml&plot=simple&mt=none&episode=0&aka=simple&release=simple

script 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

En général, cela fonctionne, mais vous pouvez [augmenter les rapports d'erreur, PHP vous informe sur les avis, avertissements et erreurs] (http://stackoverflow.com/a/14504459/367456). – hakre

+0

Encore une autre question de faute de frappe ... –

Répondre

0

Au lieu d'utiliser file_get_contents, vous pouvez utiliser 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); 

maintenant $ réponse doit contient votre XML. Et vous pouvez faire quelque chose comme

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

assurez-vous que filename.xml est inscriptible

+0

Mais ce n'est pas ce qui est demandé. – hakre

+0

@hakre: merci. J'ai essayé de l'améliorer – goFrendiAsgard

+0

J'ai mis à jour la réponse originale. Le problème est maintenant qu'il va écrire dans un fichier texte, mais pas un xml – Ryahn

Questions connexes