Comment traiter plusieurs fichier txt distant ?? - PHP - Programmation
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
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 ??
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)
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.
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 !
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