Problème d'entrée de donnée dans ma jolie BDD
Posté : 16 août 2005, 16:29
Salut à tous,
Voilà le topo, avec un formulaire je récupère des fichiers images pour les entrer dans ma bdd.
Il a deux champs de saisi de fichier, on est pas obligé de remplir les deux donc quand y a pas d'images dans l'un des deux voir les deux champs j'affiche un joli carré blanc barré de rouge
(
c chouette n'est ce pas?)
le problème ne vient pas du transfert de fichiers, non [-X , mais plutot de l'affichage de l'image "pas_image.jpg"
Mon script:
cela affiche en réalité "photo/p" au lieu de "photo/pas_image.jpg"
voilà je ne comprend pas pourquoi il me rentre ça à la place du nom de fichier que je lui indique...
merci d'avance!!
Voilà le topo, avec un formulaire je récupère des fichiers images pour les entrer dans ma bdd.
Il a deux champs de saisi de fichier, on est pas obligé de remplir les deux donc quand y a pas d'images dans l'un des deux voir les deux champs j'affiche un joli carré blanc barré de rouge
(
le problème ne vient pas du transfert de fichiers, non [-X , mais plutot de l'affichage de l'image "pas_image.jpg"
Mon script:
<?
///////////////////////////////////Upload des photos////////////////////////////////////////
//Initialisation de la variables $infos
$infos = '';
//Remplacer les champs photos vides par l'image "aucunes images" qui s'appel 'pas_image.jpg'
if (empty($_FILES['photo1']['size'])){
$_FILES['photo1']="pas_image.jpg";
}
if (empty($_FILES['photo2']['size'])){
$_FILES['photo2']="pas_image.jpg";
}
//Pour savoir si le fichier a été uploadé
if (!empty($_FILES['photo1']['size']) || !empty($_FILES['photo2']['size'])){
//Récupération de la taille, du nom et du nom du fichier temporaire
$f1_size = $_FILES['photo1']['size'];
$f2_size = $_FILES['photo2']['size'];
$f1_name = $_FILES['photo1']['name'];
$f2_name = $_FILES['photo2']['name'];
$f1_tmpname = $_FILES['photo1']['tmp_name'];
$f2_tmpname = $_FILES['photo2']['tmp_name'];
//Récupération de l'extension du fichier
$ext = strtolower(substr($f1_name,strrpos($f1_name, ".")+1));
$ext2 = strtolower(substr($f2_name,strrpos($f2_name, ".")+1));
//Création du tableau des extensions acceptées
//Pour permettre ou refuser des extensions, ajoutez ou supprimez celle nécessaire
$valides = array("bmp","jpg","gif","png","tif");
//Vérification de la taille et le type de fichier (5 Mo)
//Pour changer la taille, mettre la valeur en octect
if ($f1_size > 5000000) $infos .= "<center>- La photo N°1 est trop volumineuse!<br>n</center>";
if ($f2_size > 5000000) $infos .= "<center>- La photo N°2 est trop volumineuse!<br>n</center>";
if ($f2_size > 5000000 && $f1_size > 5000000) $infos .= "<center>- Les photos sont trop volumineuses!<br>n</center>";
if (!in_array($ext,$valides)) $infos .= "<center>- Le type de fichier de la photo N°1 n'est pas accepté!<br></center>";
if (!in_array($ext2,$valides)) $infos .= "<center>- Le type de fichier de la photo N°2 n'est pas accepté!<br></center>";
if (!in_array($ext,$valides) && !in_array($ext2,$valides)) $infos .= "<center>- Les types de fichier des photos ne sont pas accepté!<br></center>";
//Si tout est correct, on déplace le fichier sinon on affiche les messages d'erreurs qui correspondent
if ($infos == ''):
move_uploaded_file($f1_tmpname, "./photo/{$f1_name}") or $infos .= "<center>- Impossible d'enregistrer le fichier, contacter le webmaster!<br></center>";
move_uploaded_file($f2_tmpname, "./photo/{$f2_name}") or $infos .= "<center>- Impossible d'enregistrer le fichier, contacter le webmaster!<br></center>";
endIf;
}else $infos .= "<center>- Vous devez sélectionner un fichier à uploader!<br></center>";
//Si le formulaire n'a pas encore été validé, on n'affiche pas les erreurs
if (empty($_POST['MAX_FILE_SIZE'])) $infos = '';
///////////////////////////////////////////////////////////////////////////
mysql_query("INSERT INTO objet (photo1, photo2) VALUES ('photo/{$f1_name}', 'photo/{$f2_name}')") or die(mysql_error());
?>
le fait est que l'image ne s'affiche pas car le nom du fichier "pas_image.jpg" n'est pas bon...cela affiche en réalité "photo/p" au lieu de "photo/pas_image.jpg"
voilà je ne comprend pas pourquoi il me rentre ça à la place du nom de fichier que je lui indique...
merci d'avance!!