recuperer dans un champ la valeur d'un fichier (type=file)

darontankian
Invité n'ayant pas de compte PHPfrance

15 avr. 2008, 10:34

Bonjour,

Voila je creer un formulaire de gestion d'artiste d'un site web.
Mon formulaire est divisé en 2 :
1- formulaire de type enctype="multipart/form-data" permettant d'uploader une photo

2- formulaire basique de type texte qui permet de creer un artiste et qui comprend le champ photo

En faite je voudrai savoir si je peux recuperer la valeur de mon champ <input type=file> dans mon champ photo afin de pouvoir ajouter simplement le nom de l'image selectionné dans ma base de données.

Merci

Mammouth du PHP | 804 Messages

15 avr. 2008, 10:42

Bonjour,

je pense que oui , en utilisant un scripts javascripts mais j'ai du mall à comprendre ?

par contre c'est pas le nom que tu aura !

mais le chemin de ton image sur ton pc :?

darontankian
Invité n'ayant pas de compte PHPfrance

15 avr. 2008, 11:04

En faite je veux dans un 1er temps enregistrer une photo d'un artiste dans un dossier de mon site, puis dans un autre formulaire rentré les renseignement sur cette artiste dans ma base de données (nom, liens vers son site perso etc), et le nom de la photo de l'artiste (celle que j'aurai enegistré au préalable).
C'est juste pour evité au futur administrateur du site de se tapé manuellement le nom de la photo dans le champ photo de mon 2eme formulaire.

Apres je pourrai faire sur mon site dans la page artiste :

Code : Tout sélectionner

$requete=mysql_query("SELECT * FROM artiste ORDER BY id_artiste " ) or die(mysql_error()); while($resultat=mysql_fetch_array($requete)) { ?> <h2><?php echo $resultat['nom_artiste'] ?></h2> <div class="artiste"><img alt="" src="photo_artiste/<?php echo $resultat['photo_artiste']?>"/></div> <p class="spip"><?php $contenu=nl2br(stripslashes($resultat['texte_artiste'])); echo $contenu; ?></p> <p>Pour plus d'information cliquez <a href="<?php $resultat['liens_artiste'] ?>">ici</a></p>

Eléphant du PHP | 175 Messages

15 avr. 2008, 11:46

regarde du cote de
$_FILES["nom_de_ton_champ_file"]["tmp_name"]
;)

Mammouth du PHP | 804 Messages

15 avr. 2008, 13:34

Tout à fait, il suffit que la photo ce nome automatiquement et transmet le nom au profil

darontankian
Invité n'ayant pas de compte PHPfrance

15 avr. 2008, 14:22

C'est ce que j'ai déjà fait, mon input type=file fonctionne parfaitement.
J'ai essayé du coup de séparé ma page avec 1-enregistrer une photo, 2-ajouter un artiste mais le problème reste le même, dans cette 2eme page j'ai :

Code : Tout sélectionner

Nom : _______________________ Liens : _______________________ Photo : _______________________ Texte : _______________________ [Envoyer]
Mais la l'administrateur est obligé de rentré manuellement le nom de la photo pour qu'elle ressorte sur le site...Pas très pratique :s

Mammouth du PHP | 804 Messages

15 avr. 2008, 15:34

mais pourquoi les séparer , envois tout ensemble photo et artiste 8-)

quand tu envois une fiche d'un artiste

en même temps ta photos
$prefixephoto = "im_";

//tu génère un nom unique
$id = time(); 
$nom_photo = "$prefixephoto"."$id".".jpg";
et dans ta base de donnée tu récupère $nom_photo

darontankian
Invité n'ayant pas de compte PHPfrance

15 avr. 2008, 16:09

c pas le nom qui me gene vu qu'a priori il renomme leur photo, ski serai cool c'est que lorsque j'ajoute une photo dans mon input file , mon autre champ input type=text récupère le nom de la photo sélectionné directement pour kil évite de se la retapé mais visiblement avec les input type=file on peu pas trop y touché a se que j'ai compris ^^