J'ai un script PHP qui permet d'envoyer une image par formulaire dans un dossier image sur mon serveur.
Jusque la pas de probleme mais je n'arrive pas a envoyer l'url de l'image sur ma BDD
alors que les autres informations comme la description de l'image s'affiche bien dans ma BDD.
Pouvez-vous m'aidé je bloque depuis un bout de temps. SVP
voici mon script php
<?php
$dossier = 'images/';
$fichier = basename($_FILES['icone']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['icone']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['icone']['name'], '.');
$nbre_image = $nbr_img++;
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(@rename("/images/" . $fichier . " ", "/images/" . $nbre_image . ""))
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['icone']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
// récupération des données du formulaires
$pseudo = $_POST['pseudo'];
$message = $_POST['message'];
$icone = $_POST['icone'];
// connexion à votre base de donnée
mysql_connect("xxxx", "xxxx", "xxxx"); // Connexion à MySQL
mysql_select_db("xxxx"); // Sélection de la base coursphp
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$icone = mysql_real_escape_string(htmlspecialchars($_POST['icone']));
// on créer la requête SQL, pour ensuite l'envoyer
$requete = "insert into xxxx values('','$pseudo','$message','$fichier')";
mysql_query($requete);
echo "Vos données ont été envoyées !";
// fermeture de la connexion vers Mysql
mysql_close();
?>