Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

Bouton parcourir

Envoyé par sbin 
sbin
Bouton parcourir
jeudi 5 septembre 2002 23:22:45
Bonjour,

J'ai un bouton parcourir ds mon formulaire
<input type=file name=fichier.....>
Une fois que je selectionne un fichier, comment le prendre en compte dans le code ?
c'est un truc du genre if ($fichier) alors... ?

merci
Re: Bouton parcourir
jeudi 5 septembre 2002 23:50:47
slt,
if ($fichier_size==........) // pour gérer la taille
if ($fichier_type==.......) // pour gérer le type
if ($fichier_name==.....) // pour gérer le nom

a+
sbin
Re: Bouton parcourir
samedi 7 septembre 2002 16:48:26
en fait je voudrai qu'on puisse traiter un fichier dont on ne connaisse pas le nom à l'avance.
Mon fichier s'appelle $fichier
Mais je ne peux pas faire if ($fichier_name== "..."winking smiley car on ne connait pas à l'avance le nom de ce fichier, donc comment faire ? ou alors faut-il écrire
if ($fichier_name==$fichier) ?

N'y a-til pas une instruction précise qui récupère le fichier sélectionné avec le bouton parcourir ?

merci
Re: Bouton parcourir
samedi 7 septembre 2002 21:00:28
effectivement, tu as raison : s'agissant d'un fichier uploadé, tu peux pas connaître à l'avance son nom yawning smiley))) au mieux ce sera du genre
"C/Mes documents/mes images/pimpom.jpg" mais justement tu as une manip à faire pour renommer ton fichier et jongler aprés avec ce nouveau nom yawning smiley))
cf article sur l'upload sur ce site...
...mais rien n'interdit malgré tout de gérer ce fichier avec $fichier (si input file = "fichier"winking smiley avec les handle que je t'ai filés dans le post précedent.....
sbin
Re: Bouton parcourir
lundi 9 septembre 2002 16:52:23
je ne trouve pas l'article qui concerne mon pb...

je commence à desespérer...

est-ce si compliqué ?
je sais qu'il faut faire

<form action="fichier_edit.php?-1&UPLOAD" ENCTYPE="multipart/form-data" method="post">
<b>Fichier</b>: <input type="hidden" name="MAX_FILE_SIZE" value = "102400000">
<input type="file" name="file_image"><br>
<br><input type="submit" value="Télécharger">
</form

et ds le fichier fichier_edit.php

donner le rep de destination
$rep = "/program files/EasyPHP/www/viewbase/formulaire/fichier_upload/";

puis le traiter

mais ça marche pas,

manque t'il qqchose ?
merci
sbin
Re: Bouton parcourir
lundi 9 septembre 2002 16:54:10
j'a oublié ça


copy ($_FILES['file_image']['tmpname'],$rep . $_FILES['file_image']['name']) or die ("Impossible de copier"winking smiley;
$fichier = "fichier_upload/" . $_FILES['file_image']['name'];

Je comprends pas bien cette partie..
Re: Bouton parcourir
lundi 9 septembre 2002 22:10:37
salut,
dans ton formulaire pourquoi tu t'acharnes à t'embrouiller l'esprit ??

<form action="fichier_edit.php?-1&UPLOAD" ENCTYPE="multipart/form-data" method="post">
<b>Fichier</b>: <input type="hidden" name="MAX_FILE_SIZE" value = "102400000">
<input type="file" name="file_image"><br>
<br><input type="submit" value="Télécharger">

1/ ton action elle pourrait pas être + simple ?
action="upload.php"
2/ dans le hidden si tu mets value="102400000" ça veut dire que tu acceptes jusqu'à 102400 ko..... sinon si tu veux n'accepter que 10 ko tu mets value="10240"........
3/ dans le input file, pourquoi tu le nommes pas simplement image (bref pourquoi tu veux t'encombrer du _ ? car aprés tu t'emmêles les pinceaux avec les autres variables php qui elles ont BESOIN du _ ........

en jetant un coup d'oeil à ça
[triviere.free.fr]

tu comprendras qu'il faut :
AVANT TOUT créer un dossier ici nommé IMAGE_CLIENT.... ce dossier doit se trouver tant qu'à faire au même niveau (donc dans le même répertoire que ton script d'upload) (mais on peut faire + compliqué et le mettre ailleurs yawning smiley)
PUIS créer une variable aléatoire pour ne PAS écraser un fichier éventuellement déjà présent (ici j'utilise un nombre aléatoire mais tu peux aussi bien te servir du pseudo de l'internaute..... (c'est même peut-être mieux si tu combines les deux, c'est ce que je fais dans mon script de petites annonces en page d'accueil)

DONC

// générer un nombre aléatoire
srand((double)microtime()*1000000);
$sort=rand(1,9999);

// retrouver l'extension
$extension=substr($image_name,strrpos($image_name,"."winking smiley);

// renommer le fichier uploadé
$nom_image=$modele.$sort.$extension;

//copier le fichier uploadé ET renommé dans un répertoire DéDIé..........
copy($image,"IMAGE_CLIENT/".$nom_image);

a+
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter