Uploader une photo et inserer son nom dans bdd
Posté : 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 :
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
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> </td>
<td class="texte"> </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
}
?>
Merci d'avance pour vos réponses