Bonjours,
Je voudrais inserer des données provenant d'un fichier TXT dans une base de donnée MySQL a traver un formulaire que j'ai crée qui contient un champ de type FILE.
Merci
http://retrouvetout.com/recette/index.php[/url]
Bonjours,
Je voudrais inserer des données provenant d'un fichier TXT dans une base de donnée MySQL a traver un formulaire que j'ai crée qui contient un champ de type FILE.
Merci
http://retrouvetout.com/recette/index.php[/url]
De rien!
C'est gentil de nous informer de tes intentions.
faudrait que tu dise ton problème... sinon ca va être difficile de répondre...Envoyé par agencep
Il y a un truc qui ne marche pas :
ps -> stopée s'écrit stoppée.test.txtFichier introuvable !
Importation stopée.
En gros tu veux insérer le contenu du fichier dans un champs ?
Avec file_get_contents peut-être ?
http://fr.php.net/manual/fr/function.file-get-contents.php
ce serait meilleur si tu nous donnais plus d'indication sur le sujet!!
Oui en quelque sorte,
le fichier texte est composé champs séparer par des ;
voici un bout de code que j'ai crée:
en sachant que userfile est le champ parcourir.[/b]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 $fp=fopen("$userfile","r"); while (!feof($fp)) { $ligne=fgets($fp,4096); $liste=explode(";",$ligne); $id=$liste[0]; $title=$liste[1]; $info=$liste[2]; $title=addslashes($title); $info=addslashes($info); $query="INSERT INTO `recette` VALUES('','$title','$info')"; $result=mysql_query($query)or die (mysql_error()); print '<h2>Importation terminée, avec succès.</h2>'; fclose($fp); } mysql_close();
ça marche mais quand le fichier existe déjà est sur le serveur
Mais il n'y aurait plus aucun suspens !!! 8)Envoyé par ouatmad
c'est vrai que c'est sympa de deviner les problèmes de gens et d'élaborer une réponse a partir d'aucun élément
Un genre de reverse engineering ?
oki je
Dans ton cas il faut que tu upload ton fichier avant non ?
Voir l'enctype de ton formulaire et la superglobale $_FILES.
?? ca se mange ??Envoyé par macbook
@macbook: tu te moque de moiEnvoyé par macbook
au fait dit tu voudrai q le script puisse marché meme si le fichier n'existe pas?? :
non mais j'ai un formlaire qui sert a uploder le script
mon fichier txt est composé comme sui:
id;titre;description;
ca correspand au champ de la BDD
vous pouvez voir actuellement sur le site c'est quoi l'erreur qu'il fait si il n'y a pas de fichier sur le serveur. et biensûr quand j'utilise le formulaire pour l'upload. ca ne marche pas.
http://retrouvetout.com/recette
qu'est ce que vous volais dire par superglobal $_FILES ??Envoyé par macbook
Tu peux nous mettre le code de http://retrouvetout.com/recette/scr.php car j'ai l'impression que tu tombe dans une boucle infinie.
infinie je sais pas mais moi j'ai 3 lignes d'erreur écrites un millier de fois... les boucles infinies en général ca fait plutôt une erreur request timeout...
le code ca pourrait nous aider oui.
sinon si j'ai compris tu veux uploader un fichier texte, et ton script doit le convertir en un enregistrement mysql ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <? #LECTURE ET AJOUT DES DONNEES include ('config.inc.php'); #ON VERIFIE SI LE FICHIER EXIST SUR LE SERVEUR if (file_exists($userfile)) { $fp=fopen("$userfile","r"); while (!feof($fp)) { $ligne=fgets($fp,4096); $liste=explode(";",$ligne); $id=$liste[0]; $title=$liste[1]; $info=$liste[2]; $title=addslashes($title); $info=addslashes($info); $query="INSERT INTO `recette` VALUES('','$title','$info')"; $result=mysql_query($query)or die (mysql_error()); print '<h2>Importation terminée, avec succès.</h2>'; fclose($fp); } mysql_close(); exit(); } else { #ON UPLOAD LE FICHIER $split = explode(".", $userfile_name); $largefile = "$userfile_name"; move_uploaded_file($_FILES['userfile']['tmp_name'], './'.$largefile); exit(); } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <? #LECTURE ET AJOUT DES DONNEES include ('config.inc.php'); #ON VERIFIE SI LE FICHIER EXIST SUR LE SERVEUR if (file_exists($userfile)) { $fp=fopen("$userfile","r"); while (!feof($fp)) { $ligne=fgets($fp,4096); $liste=explode(";",$ligne); $id=$liste[0]; $title=$liste[1]; $info=$liste[2]; $title=addslashes($title); $info=addslashes($info); $query="INSERT INTO `recette` VALUES('','$title','$info')"; $result=mysql_query($query)or die (mysql_error()); print '<h2>Importation terminée, avec succès.</h2>'; fclose($fp); } mysql_close(); exit(); } else { #ON UPLOAD LE FICHIER $split = explode(".", $userfile_name); $largefile = "$userfile_name"; move_uploaded_file($_FILES['userfile']['tmp_name'], './'.$largefile); exit(); } ?>
<?Envoyé par Gimmly
#LECTURE ET AJOUT DES DONNEES
include ('config.inc.php');
#ON VERIFIE SI LE FICHIER EXIST SUR LE SERVEUR
if (file_exists($userfile))
{
$fp=fopen("$userfile","r");
while (!feof($fp))
{
$ligne=fgets($fp,4096);
$liste=explode(";",$ligne);
$id=$liste[0];
$title=$liste[1];
$info=$liste[2];
$title=addslashes($title);
$info=addslashes($info);
$query="INSERT INTO `recette` VALUES('','$title','$info')";
$result=mysql_query($query)or die (mysql_error());
print '<h2>Importation terminée, avec succès.</h2>';
fclose($fp);
}
mysql_close();
exit();
}
else
{
#ON UPLOAD LE FICHIER
$split = explode(".", $userfile_name);
$largefile = "$userfile_name";
move_uploaded_file($_FILES['userfile']['tmp_name'], './'.$largefile);
exit();
}
?>
1. tu es conscient que l'id du fichier texte ne sert à rien puisque tu ne l'uilise pas ?
2. une fonction doit avoir ses parenthèses a coté d'elle pas séparé d'un espace .... ton die (mysql_error()); risque de merder.
3. tu peux m'expliquer quesqu'il renvoie comme erreur ??
Il y a beaucoup de chose à revoir là !
Déjà le $userfile sort d'où ?
Sort le
de ta boucle sinon tu ferme le fichier à chaque itération !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 print '<h2>Importation terminée, avec succès.</h2>'; fclose($fp);
Que deviens $split ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part $split = explode(".", $userfile_name);
Les guillemets sont inutiles et je suppose que tu parles de$_FILES['userfile']['name'] ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part $largefile = "$userfile_name";
Partager