Téléchargement fichier protégé

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Téléchargement fichier protégé

Message le Mer Jan 23, 2008 23:20

Bonjour,

Je souhaiterai télécharger et enregistrer dans un répertoire de mon site un fichier .csv qui est accessible via une url d'un autre site (ce site étant protégé par un accès login et mot de passe, je possède bien sur ce login et mot de passe), comment faire cela ?

Je souhaite enregistrer ce fichier .csv dans un de mes répertoires afin de mettre à jour automatiquement une table de ma base de données via un script php.

Quelqu'un voit-il une solution ?

Merci pour vos réponses.


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Jeu Jan 24, 2008 10:37

si le fichier est protégé par htpassword, tu peux récupérer le fichier avec l'instruction file et l'url sous la forme : http://user:password@example.com/repertoire/fichier.csv

sinon, il faut utiliser la librairie php curl et appeler la page de login puis celle pour récupérer le fichier avec les cookies. C'est plus compliqué. J'ai déjà fait ca pour récupérer les liens externes sur l'outil pour webmasters de google. Le code est visible ici : -http://www.phpsources.org/scripts314-PHP.htm

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Jeu Jan 24, 2008 16:49

Merci beaucoup webmasterlamogere ta solution avec l'instruction file et l'url sous la forme http://user:password@example.com/repertoire/fichier.csv marche parfaitement, je ne sais pas pourquoi mais http://user:password@example.com/repertoire/fichier.csv ne marchait pas alors que http://user:password@www.example.com/re ... ichier.csv fonctionne parfaitement !

1) Est-ce que tu peux m'aider à construire mon script php, le fichier .csv dont j'ai accès avec l'url du style http://user:password@www.example.com/re ... ichier.csv possède des milliers de lignes (plus de 40000), je ne peux donc charger toutes ces données d'un seul coup dans ma table, comment faut-il faire pour charger ces données par bloc de 4000 ou 5000 lignes à le fois ?

2) Autre souci, la première ligne de ce fichier .csv correspond au nom des champs de ma table, il ne faut donc pas charger cette première ligne dans la table ! Comment sauter cette ligne ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Jeu Jan 24, 2008 16:56

regarde du côté de l'instruction mysql suivante :
LOAD DATA LOCAL INFILE '/repertoire_local/fichier.csv' INTO TABLE ta_table FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\' LINES TERMINATED BY 'n' IGNORE 1 LINES

-http://dev.mysql.com/doc/refman/5.0/en/load-data.html

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Jeu Jan 24, 2008 23:00

Merci webmasterlamogere.

Comment faire pour charger dans ma table d'abord les lignes de 2 à 2000 (on commence à 2 car on saute la ligne 1), puis de charger les lignes de 2001 à 4000, etc... jusqu'à la charger toutes les lignes du fichier .csv ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Ven Jan 25, 2008 7:49

je ne sais pas mais chez moi ca charge des gros fichiers sans les découper

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Ven Jan 25, 2008 11:44

Ok merci.

J'ai un message d'erreur :
Erreur de syntaxe près de '' IGNORE 1 LINES' à la ligne 2


Voici ma requête :
$result = mysql_query("LOAD DATA LOCAL INFILE '$file' INTO TABLE $tableName FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' IGNORE 1 LINES") or die (mysql_error());


Quelqu'un voit-il l'erreur ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Ven Jan 25, 2008 13:35

pour moi c'est avec 4 \ pour "ESCAPED BY" et 2 pour "TERMINATED BY" :
$result = mysql_query("LOAD DATA LOCAL INFILE '$file' INTO TABLE $tableName FIELDS TERMINATED BY ',' ESCAPED BY '\\\\' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES") or die (mysql_error());

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Ven Jan 25, 2008 13:57

Merci pour ta réponse, ça va un peu mieux, j'ai plus ce message d'erreur mais j'ai maintenant ce message losque j'exécute ma requete :
Cette commande n'existe pas dans cette version de MySQL


J'ai phpMyAdmin 2.6.1 et MySQL 4.1.9-max sur mon serveur local, c'est pas suffisant ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Ven Jan 25, 2008 14:11

si c'est pour un test en local, je te conseille d'installer WAMP


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12208
Inscription: Dim Aoû 08, 2004 20:24

Message le Ven Jan 25, 2008 14:47

webmasterlamogere a écrit:si c'est pour un test en local, je te conseille d'installer WAMP
+1
Avant j'utilisais EasyPhp, mais Wamp te permet de basculer d'un seul click de version de php, de mysql ou d'apache.
Le pied quand tu dois développer pour plusieurs versions de plate forme

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Ven Jan 25, 2008 15:15

EasyPHP c'est pariel que Wamp ou pas ?

J'ai EasyPHP sur mon ordi.


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Ven Jan 25, 2008 15:29

je crois qu'EasyPHP n'est plus maintenu.


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12208
Inscription: Dim Aoû 08, 2004 20:24

Message le Ven Jan 25, 2008 15:42

webmasterlamogere a écrit:je crois qu'EasyPHP n'est plus maintenu.
il me semble que si, vu les versions php mysql affichées sur leur site
Mais pour faire une install multi versions, WAMP est largement plus facile, surtout pour faire la bascule au vol.

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Ven Jan 25, 2008 16:54

Ok merci pour vos réponses.

Bon finalement j'ai opté pour une version plus récente de EasyPHP, je l'ai donc installé sur mon ordi et j'ai la version MySQL: 5.0.22 qui est installé, je n'ai plus la phrase
Cette commande n'existe pas dans cette version de MySQL
mais j'ai ce message d'erreur
File 'Resource id #5' not found (Errcode: 2)
quelqu'un a-t-il une idée pour résoudre cette erreur ?

Téléchargement fichier protégé

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités