Importation d'une table SQL par un fichier externe

Eléphanteau du PHP | 37 Messages

16 déc. 2011, 14:12

Voila mon code pour simplifier :
$lines = gzfile($AdresseduFichier);	
 foreach($lines as $line) {
 	list($id, $name,) = explode(',', $line);
 	mysql_query("INSERT INTO liste SET id='$id', name='$name');
Lorsque la variable $AdresseduFichier a pour adresse un fichier qui est sur mon serveur, ça marche aucun soucis.
Même si il m'envoie des erreurs si le fichier est gros, ça fonctionne.


Par contre et c'est la mon problème,
lorsque $AdresseduFichier a pour adresse un fichier qui n'est pas sur mon serveur
(adresse du genre : "http://www.;;;;" la cela ne marche plus, ma table est vide !!!!!!

Pourquoi ?
Y a t il une solution ?


Merci de vos lumières

ViPHP
xTG
ViPHP | 7331 Messages

16 déc. 2011, 14:28

Pourquoi ?
Cette fonction (voire même librairie) travaille sur le système de fichier et non des urls.
Donc tu ne peux lui demander d'aller chercher un fichier sur un autre serveur.
Y a t il une solution ?
Tu peux copier le contenu gzippé avec des fonctions comme file_get_contents() qui acceptent les url externes.
Puis créer un fichier temporaire pour y coller le tout.
Et gzfile() travaillera sur ce fichier temporaire.

Eléphanteau du PHP | 37 Messages

16 déc. 2011, 14:38

ok merci pour l'info.


Bon et bien je vais aller à la pêche aux infos sur la fonction file_get_contents() car je connais pas du tout !!!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 déc. 2011, 17:30

Il en faut peu pour être heureux ......