Uploader une photo et inserer son nom dans bdd

Petit nouveau ! | 5 Messages

07 oct. 2009, 16:53

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
Modifié en dernier par sfc2000 le 07 oct. 2009, 19:52, modifié 1 fois.

Eléphant du PHP | 428 Messages

07 oct. 2009, 19:20

Tu peux tenter de récupérer le nom du fichier de cette manière
$filename = $_POST['fichier'];
echo $filename;

Petit nouveau ! | 5 Messages

07 oct. 2009, 19:26

Mais ca va juste me l'afficher? non?