Page 1 sur 1

Uploader une photo et inserer son nom dans bdd

Posté : 07 oct. 2009, 16:53
par sfc2000
Bonjour,

J'ai trouvé un script qui me permets d'uploader une photo sur le server ca marche bien sauf que pour corser la chose, j'aimerais que le nom du fichier uploader s'inscrive dans une base.

Pouvez vous m'aider?

Voici mon script :

Code : Tout sélectionner

<? require "includes/ezine_db.inc.php"; $ezine_db = ezine_connecte_db(); ?> <?php mysql_query("INSERT INTO Article (Id,Nom,Prix,NomPhoto) VALUES ('','$Nom','$Prix','$NomPhoto') ") or die ("erreur insert ".mysql_error()); mysql_close(); $poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets) $repertoire = 'images/photos/'; // Repertoire d'upload if (isset($_FILES['fichier'])) { // On vérifit le type du fichier if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/JPG' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif') { $erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .'; } // On vérifit le poids de l'image elseif ($_FILES['fichier']['size'] > $poids_max) { $erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.'; } // On vérifit si le répertoire d'upload existe elseif (!file_exists($repertoire)) { $erreur = 'Erreur, le dossier d\'upload n\'existe pas.'; } // Si il y a une erreur on l'affiche sinon on peut uploader if(isset($erreur)) { echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>'; } else { // On définit l'extention du fichier puis on le nomme par le timestamp actuel if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; } if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; } if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.JPG'; } if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; } if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; } $nom_fichier = time().$extention; // On upload le fichier sur le serveur. if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier)) { $url = 'www.documentmateriel.ch/'.$repertoire.''.$nom_fichier.''; echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $url . '" size="60">'; } else { echo 'L\'image n\'a pas pu être uploadée sur le serveur.'; } } } else { ?> <div align="left" class="body"> <form method="post" enctype="multipart/form-data"> <table border="0" cellpadding="0" cellspacing="0" class="texte"> <tr> <td>&nbsp;</td> <td class="texte">&nbsp;</td> </tr> <tr> <td>Nom : </td> <td class="texte"><input name="Nom" type="text" /></td> </tr> <tr> <td>Prix :</td> <td class="texte"><input name="Prix" type="text" /></td> <tr class="texte"> <td colspan="2" align="center"><input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>"><input type="file" name="fichier"></td> </tr> <tr class="texte"> <td colspan="2" align="center"><input type="submit" name="submit" value="Valider" /></td> </tr> </table> </form> </div> <?php } ?>
Mes autres données (Nom et Prix son récupérer dans la base, mais j'ai beau triffouiller le code dans tous les sens, je ne suis apparment pas assez bon pour récupérer le nom du fichier uploader pour le mettre dans la base.

Merci d'avance pour vos réponses

Re: Récupérer le nom d'une photo pour insertion dans bdd

Posté : 07 oct. 2009, 19:20
par visualight
Tu peux tenter de récupérer le nom du fichier de cette manière
$filename = $_POST['fichier'];
echo $filename;

Re: Récupérer le nom d'une photo pour insertion dans bdd

Posté : 07 oct. 2009, 19:26
par sfc2000
Mais ca va juste me l'afficher? non?