Bouton Parcourir

Fermé
radzo - 8 juin 2010 à 09:25
 radzo - 9 juin 2010 à 16:19
Bonjour,


J'ai un souci par rapport à l'insertion d'un bouton Parcourir dans ma page web. En fait, si j'utilise le code ci-après, ça fonctionne très bien :
<form action="telech.php" type="hidden" method="post" enctype="multipart/form- data" name="form1" id="form1">
<input name="fichier_source" type="file" id="fichier_source" size="50">
<input type="submit" value="Attacher le fichier">
</form>
La fonction "telech.php" copie le fichier sélectionné dans un répertoire que j'ai défini.
Jusqu là , ça va bien.

Mais, ce que je veux faire, c'est de ne pas changer de page, c'est-à-dire, ne pas utiliser "telech.php". Mais, juste après avoir cliqué sur Attacher le fichier, le fichier choisi devra s'afficher juste en bas, comme un lien.

Merci pour toutes les réponses.
A voir également:

1 réponse

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
8 juin 2010 à 09:41
Il suffit de mettre ton script d'upload dans la même page que celle du formulaire.
Le plus simple étant de mettre un condition pour qu'il ne soit excecuté qu'a l'envoi du formulaire.

<?php
if(isset($_POST['upload']) && $_POST['upload']=='Attacher le fichier')
{
....
}
?>

<form action="telech.php" type="hidden" method="post" enctype="multipart/form- data" name="form1" id="form1">
<input name="fichier_source" type="file" id="fichier_source" size="50">
<input type="submit" name="upload" value="Attacher le fichier">
</form>


Change le action="" par l'url de ta page et rajouter le script pour afficher ton fichier en dessous.
0
Merci pour ta réponse.
Toutefois, est-ce que tu peux préciser le code à mettre dans la balise php que tu as donné là? car je ne comprends pas très bien.

<form action="pv.php" type="hidden" method="post" enctype="multipart/form- data" name="form1" id="form1">
<input name="fichier_source" type="file" id="fichier_source" size="50">
<input type="submit" name="upload" value="Attacher le fichier">
</form>

pv.php est en fait la page qui contient tous ces codes.
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
8 juin 2010 à 11:10
Pour ne pas changer de page tu ne met tout simplement pas d'action
<form method=post><
...
</form>
0
Breub62 : j'ai enlevé comme tu l'as dit le "action" aisnis que le type="hidden" mais celà n'affiche rien. Juste une page blanche.

arthezius : en mettant le code qui était dans telech.php dans la balise php que tu m'avais conseillé là-haut, puisen mettant pv.php au lieu de telech.php dans la balise form, après avoir cliqué sur Attacher le fichier et chosi un fichier, seule une partie de ma page initiale est retournée, et que le fichier chosi n'est pas copié dans le répertoire de destination.

Voici mon code :
<form action="pv.php" type="hidden" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input name="fichier_source" type="file" id="fichier_source" size="50">
<input type="submit" value="Attacher le fichier">
</form>

<?php
$tmp_name=$_FILES['fichier_source']['tmp_name'];
$name=$_FILES['fichier_source']['name'];

if(file_exists('upload/'.$name) )
{
unlink('upload/'.$name); //pour effacer un fichier
}

if(isset($_POST['upload']) && $_POST['upload']=='Attacher le fichier')
{
if(move_uploaded_file($tmp_name, 'upload/'.$name))
{
//Le fichier a été uploadé correctement
echo 'Fichier attaché correctement : '.$name;
echo "<br>Chemin : ".'upload/'.$name;
echo "<br>";
echo "<br>";
}
else
{
//Erreur
echo 'Nom fichier : '.$name;
echo '<br>Erreur lors de la copie du fichier<br><br>';
}
}
?>


SVP, pouvez-vous m'aider?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
Modifié par arthezius le 8/06/2010 à 11:56
Remplace
<input type="submit" value="Attacher le fichier">
par
<input type="submit" name="upload" value="Attacher le fichier"> 


Change également le code comme suis:
<?php
if(isset($_POST['upload']) && $_POST['upload']=='Attacher le fichier')
	{
	$tmp_name=$_FILES['fichier_source']['tmp_name'];
	$name=$_FILES['fichier_source']['name'];
	
	if(file_exists('upload/'.$name) )
		{
		unlink('upload/'.$name); //pour effacer un fichier
		}

	if(move_uploaded_file($tmp_name, 'upload/'.$name))
		{
		//Le fichier a été uploadé correctement
		echo 'Fichier attaché correctement : '.$name;
		echo "<br>Chemin : ".'upload/'.$name;
		echo "<br>";
		echo "<br>";
		}
	else
		{
		//Erreur
		echo 'Nom fichier : '.$name;
		echo '<br>Erreur lors de la copie du fichier<br><br>';
		}
	}
?> 
0
j'ai modifié le code comme tu me l'as conseillé mais cela n'a rien changé :
- le fichier sélectionné n'est pas copié dans le répertoire de destination
- une petite partie de la page à retourner est affichée
0