Bouton parcourir recuperation fichier

Résolu/Fermé
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 - 14 juin 2009 à 13:57
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 - 14 juin 2009 à 15:25
Bonjour,
je voudrais faire un bouton parcourir, pour aller chercher un fichier .csv (ou .txt) et qui me l'affiche sur mon autre page, mais je n'y arrive pas je suis bloqué depuis un moment, même après avoir regardé plusieurs forum.

code page1.php:
<?php

echo'<form method="post" action="page2.php" ENCTYPE="multipart/form-data">';
echo'<input name="fichier1" type="file" />';
echo'<input name="envoi" type="submit" value="soumettre" /></form>';
echo'</form>';
$fichier = fopen("test.txt", "r+");

?>
et donc ce que je voudrais c'est que le contenu du fichier sélectionné s'affiche dans page2.php
p.s: page2.php contiendras tout mon code pour traiter ce qui a été afficher sur ma page

J'ai essayer de me débrouillé avec les variables $_Files .... mais pas moyen.
Merci
A voir également:

11 réponses

benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
14 juin 2009 à 14:54
Essayes avec : if(isset($contenu))

isset -> http://fr3.php.net/manual/fr/function.isset.php
1
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
14 juin 2009 à 14:08
La seule solution c'est que l'utilisateur envoie le fichier, puis tu récupères le contenu du fichier (temporaire), et tu le supprimes.

Tu fais donc un formulaire dans page1.php, puis dans page2.php tu peux mettre :
<?
if(!empty($_FILES)){ echo file_get_contents($_FILES['File0']['tmp_name']); unlink($_FILES['File0']['tmp_name']); } ?>


Ce script affiche le contenu du fichier envoyé et supprime le fichier (unlink).
0
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 16
14 juin 2009 à 14:20
j'ai pas bien compris là,j'ai mis le morceau du code dans mapage2.php et sa me dit sa en erreur:

Notice: Undefined index: File0 in C:\wamp\www\parcourir\page2.php on line 12
Warning: unlink() [function.unlink]: No error in C:\wamp\www\parcourir\page2.php on line 12

est ce que tu pourrais etre un peu plus explicite, stp ?
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
14 juin 2009 à 14:29
Essaye comme ça :
<?
if(!empty($_FILES)){
  foreach($_FILES as $k=>$f){
$contenu=file_get_contents($f['tmp_name']); unlink($f['tmp_name']); }}
echo $contenu;?>


La variable $contenu contient le contenu du fichier envoyé.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 16
14 juin 2009 à 14:34
là sa ne met aucune erreur, seulement il m'affiche une page blanche
voici le code de ma page2.php :
<?php
echo'<form method="post" >';
echo'</form>';


if(!empty($_FILES)){
foreach($_FILES as $k=>$f){
$contenu=file_get_contents($f['tmp_name']); unlink($f['tmp_name']); }}
echo $contenu;
?>

p.s:est ce que dans page1.php, je dois mettre des variables de type $_FILES ou autres , a tout hasard ??ou sa n'a aucun rapport ?
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
14 juin 2009 à 14:35
Tu mets ton formulaire dans page2.php ou dans page1.php ??
Si ton formulaire est dans page1.php ne ne le remets pas dans page2.php ou alors tu peux le mettre mais après le traitement du fichier :
<?php
if(!empty($_FILES)){
foreach($_FILES as $k=>$f){
$contenu=file_get_contents($f['tmp_name']); unlink($f['tmp_name']); }}
echo $contenu;

echo'<form method="post" >';
echo'</form>';
?> 
0
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 16
14 juin 2009 à 14:52
re
pardon ca fonctionne bien, la je selectionne mon fichier csv ( avec lequel je travail) .
dans parcouir je selectionne " test.csv" et je fais soumettre, il me renvoi a la page 2, avec mon tableau :
nom;prenon;ville; etc......

pour le moment sa va, seulement quand je test pour mon site, j'ai un souci , il me dit
Notice: Undefined variable: contenu in C:\wamp\www\code\page2.php on line 59

j'explique mon code:
au debut j'ai sa :
$appel = @fopen("test.csv", "r");
if ($appel) et....

maintenant grace au code fourni j'ai remplacer appel par contenu,
echo '<form method=post action="liste_nominative.php">';
if ($contenu){
je travaille sur mon tableau , avec mes + de 300 ligne de code
sinon j'affiche un message d'erreur

donc j'ai remplaceer "appel" par "contenu" et il me donne l'erreur si dessus
0
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 16
14 juin 2009 à 14:58
là il me renvoi au message d'erreur ( c'est à dire " recommencer :! ")
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
14 juin 2009 à 15:02
Tu peux aussi mettre $contenu=false; sur l'une des premières lignes de ton code, donc if($contenu) ne s'exécutera que si on a changé la valeur de $contenu.
0
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 16
14 juin 2009 à 15:13
ben j'ai toujours un probleme , dès que je demarre, j'avais sa avant :
if ($appel )
if($contenu) {
for($ligne=fgetcsv($contenu,1024); !feof($contenu);$ligne=fgetcsv($contenu,1024))
{
c'est ici que sa pose probleme car sa me dit :

Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:\wamp\www\liste_nominative.php on line 62

Warning: feof(): supplied argument is not a valid stream resource in C:\wamp\www\liste_nominative.php on line 62

peut on continuer cette discussion par mail ou mp à l'avenir tout à l'heure, je dois m'en aller quelques heurs là , en tout cas merci pour toute ces indications aussi, j'ai à peu pres saisie comment proceder )
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
14 juin 2009 à 15:25
Tu mets : $contenu=false;//Avant if(!empty($_FILES))
Ensuite tu changes ta condition : if($contenu) par if($contenu!==false)

La condition ne pourra s'exécuter que si on a changé la valeur de $contenu, car à la base $contenu vaut false.
0