Bonjour,

J'espère avoir posté au bon endroit

Je cherche à récupérer un fichier xml mis à disposition sur un site et à le copier sur mon espace free.

J'ai récupéré ici même une fonction qui permet de copier le dit fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function copie_fichier_distant($fichier_source, $fichier_cible) {
   // ---------------- Ouverture et lecture du fichier distant ----------------
   //Ouverture du fichier $fichier
    $fichierouvert = fopen ($fichier_source, "r");
    // Initialisation de la variable contenu
    $contenu ="";
    //Mise en mémoire du fichier dans une variable $contenu
    while (!feof($fichierouvert)) {
      $contenu .= fread($fichierouvert, 8192);
    }
    fclose ($fichierouvert);
 
   // ---------------- Création et écriture du fichier local ----------------
    //Ouverture du fichier de destination
    $fichierouvert = fopen ($fichier_cible, "w+");
    //Copie du fichier
    if ( !fwrite($fichierouvert, $contenu)) {
      echo "Impossible d'écrire dans le fichier ($filename)";
      exit;
    }
    //Fermeture du fichier
    fclose ($fichierouvert);
}
Le problème est que le site sur lequel je dois récupérer mon fichier xml nécessite une authentification que j'ai essayé de passer avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
$ch = curl_init();
 
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
 
curl_exec ($ch);
 
copie_fichier_distant($xmlsource,$xmlcopie);
 
curl_close ($ch);
Cela ne fonctionne pas, et j'avoue que je ne sais pas trop pourquoi.

Pour l'instant, l'erreur que je reçois est "Impossible d'écrire dans le fichier ()", donc un retour de la fonction de copie...

Avez-vous déjà été face à ce problème et comment le résoudre ?

Merci d'avance,

ephixe