Comment traiter plusieurs fichier txt distant ??

Comment traiter plusieurs fichier txt distant ?? - PHP - Programmation

Marsh Posté le 09-11-2008 à 13:31:03    

Bonjour,
Je travail sur un nouveau projet que je vais décrire.
J'ai besoin d'afficher un catalogue en ligne présentant des informations (texte+images).
Ces informations doivent être issues de plusieurs fichiers sources texte se trouvant sur plusieurs serveurs distants.
 
Ex :  
fichier1 dispo à l'adresse http://site1.com/fichier1.txt
fichier2 dispo à l'adresse http://site2.com/fichier2.txt
fichier3 dispo à l'adresse http://site3.com/fichier3.txt
...
 
Ces fichiers contiennent les infos du catalogue et peuvent subir des mises à jour régulières.
Le fichier1.txt qui avait 10 lignes hier peut en avoir 20 aujourd'hui par exemple ou toujours 10 lignes mais un contenu modifié
 
Quelqu'un a t'il déjà effectué ce genre de traitement et comment procéder ?
 
J'envisage les choses sous cet angle :
Etape 1 : vérifier si la date et l'heure du fichier distant a changé (http://site1.com/fichier1.txt)
Etape 2 : si oui, ouvrir le fichier distant, le parcourir et copier les infos dans une table temp mysql
Etape 3 : supprimer les données du site 1 sur la table catalogue et ajouter celles de temp dans la table catalogue
Etape 4 : copier et redimensionner les images situées sur le serveur distant via les url données dans le fichier1.txt
 
Etape 5 : boucler autant de fois qu'il y a des fichiers txt

 
Le tout serait un fichier exe_maj.php exécuté par une tâche cron
 
Un pro de PHP pourrait t-il me dire si tout ceci est correct dans un premier temps ou s'il y aurait pas quelque chose de plus simple à faire ?
Si le nombre de fichiers et trop important, je risque de tomber sur un time out non ?
Si tout ceci est correct, j'ai alors deux questions pour le moment.

1) comment ouvrir un fichier texte distant
2) comment copier une image distante ?

 
 
Merci d'avance pour vos réponses
 
 
 
 
 
 
 

Reply

Marsh Posté le 09-11-2008 à 13:31:03   

Reply

Marsh Posté le 09-11-2008 à 15:05:17    

1- fopen  
2- copy  
 
il faut que ton serveur accepte d'ouvrir des url distante pour ça


---------------

Reply

Marsh Posté le 09-11-2008 à 22:51:35    

Merci mais que pensez vous de ma procédure ? elle tiendra la route ou pas ? Personne n'as jamais effectué de telles manip ??

Reply

Marsh Posté le 10-11-2008 à 09:31:21    

et les bases de données c'est pour les chiens ?

Reply

Marsh Posté le 10-11-2008 à 10:13:11    

Je suis pas un pro du php mais j'aurais tout de meme une ou deux questions :  
1 : Tu auras combien de fichiers à ouvrir?
2 : Pourquoi ne pas avoir une BdD de tes fichiers *.txt et aller la consulté?(en local j'entend)


Message édité par jazon14 le 10-11-2008 à 10:13:39

---------------
C'est lorsqu'on a tout perdu qu'on est libre de faire tout ce que l'on veut...(Edward Norton, Fight Club)
Reply

Marsh Posté le 10-11-2008 à 16:15:55    

1) comment ouvrir un fichier texte distant
2) comment copier une image distante ?  
 
function getFile($remote,$local,$login=false,$pass=false)
{
 $out = fopen($local, 'wb');
 $ch = curl_init();
 $options=array(
  CURLOPT_URL=> $remote,
  CURLOPT_FILE=> $out,
  CURLOPT_HEADER=> 0,
   
  CURLOPT_LOW_SPEED_LIMIT=> 500,    
  CURLOPT_LOW_SPEED_TIME=> 8,    
  CURLOPT_TIMEOUT=> 15,    
 );
 if($login&&$pass)$options[CURLOPT_USERPWD]=$login.':'.$pass;
 curl_setopt_array($ch, $options);
       
 curl_exec($ch);
 curl_error ($ch);    
 curl_close($ch);
 fclose($out);
}
 
getFile('http://site1.com/fichier1.txt ','./test.txt');
 
 
CURL a plus de possibilités et plus sûr, que fopen.

Reply

Marsh Posté le 12-11-2008 à 18:14:37    

J'avais un problème avec la fonction curl_init(), finalement, plutot que de cherche à l'ouvrir directement, je le copie et l'ouvre après sur mon serveur et çà fonctionne !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed