Rechercher : dans
Par :

PHP : charger un fichier .csv...

Dernière réponse le 16 mai 2008 à 22:11:27 Nikoninho, le 3 avr 2008 à 12:00:19 
 Signaler ce message aux modérateurs

Bonjour,

Je suis actuellement en stage et je recherche des solutions pour effectuer le travail qui m'est demandé.
Je vous explique le contenu de mon travail pour que vous compreniez ce que je cherche à faire (attention c'est assez compliqué ;) ) :

Je dois créer une interface PHP pour permettre la saisie de données des utilisateurs dans une base de données.
Pour faciliter cette saisie, j'ai à disposition une autre base de données (que je dois créer à partir d'un fichier .mdb) dans laquelle j'irai piocher des informations.

Pour l'instant je n'ai absolument rien fait, car je viens de commencer mon stage. Mais ne vous inquiétez pas je ne vais pas vous demander de faire mon stage!!! J'aimerais simplement avoir votre avis sur mes choix ainsi que des conseils, si vous en avez.

En fait j'ai deja reflechi à un ensemble de solutions face aux divers problémes rencontrés :

1) fichier .mdb : comment faire pour mettre à jour ma base de données grâce à ce fichier ?
REPONSE : j'ouvre ce fichier .mdb grâce à microsoft access, je l'exporte en format .csv (c'est une option d'access)
ensuite je crée un script PHP qui récupére ce fichier .csv, qui l'ouvre en lecture, récupére chaque ligne du fichier pour ensuite (par l'intérmediaire d'une boucle) crée une requete d'insertion dans la base....
Ca va? Vous suivez?

J'ai réalisé un petit script PHP que j'ai intégré dans un .htlm qui tente de recuperer le fichier .csv sur mon bureau et de l'ouvrir ==> probleme sa ne fonctionne pas...

je vous envoie le script pour que vous puissiez me dire ou se situe le probleme :

<html>

<head>
<title> recupcsv</title>
</head>

<body>
Le fichier va se lancer...
<?php


// recuperer le csv
$fp = fopen("C:\Users\Niwok\Desktop\qe164.csv","r"); // accés en lecture au fichier csv
if (!$fp = fopen("C:\Users\Niwok\Desktop\qe164.csv","r")) {
echo "Echec de l'ouverture du fichier"; // si le fichier ne s'ouvre pas on affiche un message d'erreur
exit;

}
else {
echo "C'est bon c'est ouvert";

}

?>

</body>
</html>

VOILA! MERCI POUR VOTRE PATIENCE!!!

Configuration: Windows 2000
Internet Explorer 6.0

Meilleures réponses pour « PHP : charger un fichier .csv... » dans :
[Python] Lire et écrire des fichiers CSV VoirLIRE ET ÉCRIRE DES FICHIERS CSV Python www.python.org, dans sa version 2.4 supporte de facto le format CSV (comma-separated values: valeurs séparées par des virgules). La Library Reference est certes très explicative à ce sujet, mais uniquement...
Excel - Convertir fichier(s) CSV / XLS VoirComme dit dans le titre, cette application convertit des fichiers CSV en fichiers XLS N’est pas nécessaire pour Excel 2007, ce dernier faisant la conversion automatiquement La conversion n’ayant pas de mise en forme, en cas de modification...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Fichier CSV VoirFormat CSV Un fichier CSV est un fichier tableur, contenant des données sur chaque ligne séparés par un caractère de séparation (généralement une virgule ou un point-virgule). Comment lire un fichier CSV ? Il peut être lu avec un tableur tel que...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

Nikoninho, le 4 avr 2008 à 08:44:34

C'est ok! j'ai resolu le problemel!!

Répondre à Nikoninho

2

IMANE2008, le 16 mai 2008 à 00:23:03

Bonsoir est ce que je peux savoir comment tu as resolu le probleme car je suis bloquee sur la meme chose
et merci

Répondre à IMANE2008

3

Nikoninho, le 16 mai 2008 à 16:40:09

Salut,

//***************************** RECUP DONNES ET INSERT DANS BD***********************
//**********************************************************­*************************

$fp = @fopen("tonfichier.csv", "r"); // ouvrir le fichier qui se situe a la racine (avec tes fichiers sources, sinon tu met l'arboresence) 
set_time_limit(10000); // temps dexecution du script le plus longtemps possible ,si cette instruction n'y est pas le temps d'execution d'un script est de 30 secondes par defaut cela pose un probleme lorsque l'on doit traiter de gros fichiers comme c'est mon cas ici 

if($fp){
                echo "Traitement en cours (attendez la fin du chargement)";
	while (!feof($fp)) // tant que ce n'est pas la fin du fichier boucler	
{ 	
		$ligne = @fgets($fp, 1024); // on recupere dans la variable ligne le contenu de la premiere ligne (1024 est le nombre de caracteres récupérés par ligne)
	
			$split=split(";",$ligne); // la fonction split permet de recuperer des parties de caracteres dans une ligne : ici on indique que l'on prend tous les caracteres depuis le debut du curseur jusqu'au caractere ";"

//************************* ON STOCKE LES RESULTATS DANS UN TABLEAU***************
//*******************************************************************************
$commune=$split[0];
$codepostal=$split[8];
				
//******************************** creation et envoi de la requete **********************
//***************************************************************************************

$query = "INSERT INTO infocommune VALUES ('$commune','$codepostal',NULL)";
$result = mysql_query($query);	
}
}
 else{
echo "Probleme : le fichier indiqué n'existe pas";
}
 
fclose($fp); // il faut fermer le fichier que l'on a ouvert aprés utilisation
mysql_close(); // ne pas oublier de fermer la base de données


Voila bonne chance, si tu as des question n'hesites pas !!!

Répondre à Nikoninho

4

 im@ne, le 16 mai 2008 à 22:11:27

Merci d'avoir pris la peine de me repondre

Répondre à im@ne
Collection CommentÇaMarche.net