Php : téléchargement de gros fichiers XML

miss Ref Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
miss Ref Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je fais des traitement sur des fichier XML distant mais que je télécharge au préalable (je les sauvegarde sur mon serveur)
J'ai un problème avec les gros fichiers (ça peut aller jusqu'à 500Mo)
En même temps j'avoue que j'y vais un peu à la brut en copiant.
Voila mon code:


$url_file =  "http://www.serveurdistant.com/fichier.xml";//fichier distant
$url_local =  "files/fichier.xml";//fichier sur mon serveur

//lecture du fichier distant
$handler = fopen("".$url_file, "r"); 
$contents = ''; 
if($handler) 
while(!feof($handler)) 
$contents .= fread($handler, 8192); 
fclose($handler);

//écriture dans le fichier local  
$handlew = fopen($url_local, "w"); 
fwrite($handlew, $contents); 
fclose($handlew);


A voir également:

2 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.
Essaye avec cURL ou file_get_contents à la place des fonctions fopen, fclose, etc.
0
miss Ref Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai essayé avec cURl mais impossible avec un fichier de 500Mo
J'ai l'impression que c'est un problème de timeout:
-j'ai fixé à 3600 le CURLOPT_TIMEOUT et CURLOPT_CONNECTTIMEOUT.
-j'ai ajouté ini_set('max_execution_time', 0) pour un temps d'exécution infini
mais sans aucun effet.
jusqu'à 50Mo ça marche sans problème.
Je continue mes tests et je vous tien s au courant.
0