Insertion Chemin d'accès image dans une BDD

parousky Messages postés 325 Date d'inscription   Statut Membre Dernière intervention   -  
canarder Messages postés 1714 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'aimerai intégrer le chemin d'accès d'une image dans une base de données qu'un utilisateur va entrer via un formulaire. Alors voilà ce que j'ai écrit :

<form method="post" action="XTraitementConnexion.php?Connect==0" id="formulaire" enctype="multipart/form-data">

<input name="file_name" type="file" class="program-neufs" size="15" enctype="multipart/form-data">

<input type="submit" name="valider">

</form>

<?php
if( isset($_GET['valider']) ) // si formulaire soumis
{
$content_dir = 'Images/'; // dossier où sera déplacé le fichier

$tmp_file = $_FILES['file_name']['tmp_name'];

if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}

// on vérifie maintenant l'extension
$type_file = $_FILES['file_name']['type'];

if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}
$name=$_GET['nomimg'];
// on copie le fichier dans le dossier de destination
$name_file = "$name.jpg";


if(!move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
}
?>


Alors j'ai crée le fichier Images dans le répertoire de mon site, mais rien ne s'enregistre dedans, je ne comprends pas vraiment pourquoi...
Pourriez-vous m'aider ?
Merci d'avance !
A voir également:

1 réponse

canarder Messages postés 1714 Date d'inscription   Statut Membre Dernière intervention   355
 
Et si tu n'envoyais pas de HTML avant du code PHP ? Je suis pas sûr, mais peut-être que ça vient de là.


Et c'est pas sécurisé ton upload là : $name=$_GET['nomimg'];
Si je mets comme nomimg : "../index.php?"
Et bah j'écris sur ta page d'index.

Tu dois récupérer le nom du fichier autrement. Et tester sa validité. (ET "accessoirement" sa taille maximale, vérifier son type mime, etc ...)

Et sinon, tu sais que :
$name_file = "$name.jpg"; 

S'écrit aussi, et c'est mieux :
$name_file = $name.'.jpg'; 


___/\_canarder_/\___
~Waterfox|Palemoon~
0