Bouton parcourir recuperation fichier

[Résolu/Fermé]
Signaler
Messages postés
192
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
21 décembre 2014
-
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
-
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

11 réponses

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

isset -> http://fr3.php.net/manual/fr/function.isset.php
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
136
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).
Messages postés
192
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
21 décembre 2014
16
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 ?
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
136
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é.
Messages postés
192
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
21 décembre 2014
16
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 ?
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
136
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>';
?> 
Messages postés
192
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
21 décembre 2014
16
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
Messages postés
192
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
21 décembre 2014
16
là il me renvoi au message d'erreur ( c'est à dire " recommencer :! ")
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
136
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.
Messages postés
192
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
21 décembre 2014
16
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 )
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
136
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.