[PHP] Récupérer le nom d'un fichier avec <input type="file">

Petit nouveau ! | 2 Messages

25 janv. 2012, 22:55

Bonjour, j'aimerais créer un champ de formulaire en PHP de type "file" où l'on clique sur parcourir, et une fenetre s'ouvre pour séléctionner un fichier.

Sauf que moi, en cliquant sur le bouton "submit" j'aimerais uniquement récupérer le nom du fichier dans une variable (soit le nom seul, soit le nom+extension, soit le nom+extension+chemin, peu importe ), et non le fichier en lui-même (ça évite de l'uploader dans un dossier à chaque fois, car je n'ai besoin que du nom).

Merci d'avance

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

25 janv. 2012, 23:12

Salut,

Heu juste un input de type texte ?

Parce que la tu va forcément uploader le fichier.
Sinon Faut faire une mascarade du type deux formulaires, dont un qui ne sera pas soumis et qui comprend juste le champ file.
L'autre formulaire doit avoir un champ caché qui contiendra l'info que tu souhaite récupérée grave à Javascript (si c'est réalisable ;) )


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 2 Messages

26 janv. 2012, 00:39

Salut, merci de ta réponse.

Non je ne veux pas un input text puisque ce sont des fichiers avec des noms longs, de type "zlmKS8hd7zl52hdlA2.txt" par exemple, et les recopier dans un input text c'est long, et copier coller le nom du fichier à chaque fois c'est pas super pratique non plus, donc c'est pour ça que je veux un input file.

Bon, admettons que le fichier doit être uploadé (étant donné que ce sont des fichiers texte, et que c'est en local, ça ne devrait pas être long). Comment ensuite je récupère le nom de ce fichier dans une variable ?

Mammouth du PHP | 2278 Messages

26 janv. 2012, 10:13

Pour onnaître le nom et rester dans le même script:
<
?PHP
$passage = isset($_POST['passage']) ? $_POST['passage']: 0;
if ($passage == 0)
{
	print "
	<form name = 'formulaire' method = 'post' action = 'test.php'>
		<input type = 'file' name ='nfic'  />
		<input type = 'hidden' name = 'passage' value = '1' />
		<button type = 'submit'>OK </button>
	</form>";
}
else
{
	$nfic = $_POST['nfic'];
	print "$nfic";
}
?>
sinon:
http://fr2.php.net/manual/en/features.f ... method.php
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD