Salut,
J'ai un problème avec un code qui est censé uploader une image et mettre son chemin dans une base de donnée...
Je n'ai aucune erreur...
Mon code PHP :
$poids_max = 2560000; // Poids max de l'archive en octets (1Ko = 1024 octets)
$repertoire = 'uploads/'; // Repertoire d'upload
if (isset($_FILES['image'])) {
// On vérifit le type du fichier
if ($_FILES['image']['type'] != 'jpeg' && $_FILES['image']['type'] != 'jpg' && $_FILES['image']['type'] != 'png' && $_FILES['image']['type'] != 'gif' && $_FILES['image']['type'] != 'bmp') {
$erreur = 'Le fichier doit être au format *.jpeg, *.jpg, *.gif, *.bmp ou *.png .';
}
// On vérifit le poids de l'image
elseif ($_FILES['image']['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['image']['type'] == 'jpeg') { $extention = '.jpeg'; }
if ($_FILES['image']['type'] == 'jpg') { $extention = '.jpg'; }
if ($_FILES['image']['type'] == 'png') { $extention = '.png'; }
if ($_FILES['image']['type'] == 'gif') { $extention = '.gif'; }
if ($_FILES['image']['type'] == 'bmp') { $extention = '.bmp'; }
$nom_fichier = time().$extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['image']['tmp_name'], $repertoire.$nom_fichier)) {
echo "Article bien envoyé <a href='index_admin.php'>retour</a>";
}
}
if(isset($_POST['pseudo']) && isset($_POST['article'])) {
$sql = "INSERT INTO ag_articles VALUES('','".$_POST['pseudo']."','".$_POST['titre']."','".$_POST['article']."','".$repertoire.$nom_fichier."','".$_POST['categorie']."')";
mysql_query($sql) or die(mysql_error());
}
} else {
echo "problème avec l'image";
}
Mon code HTML :
<form action="#" method="POST">
<p>
Pseudo : <input type="text" name="pseudo"/><br/>
Titre : <input type="text" name="titre"/><br/>
Categorie :
<select name="categorie">
<option value="france">France - L1</option>
<option value="etranger">Etranger</option>
<option value="coupes">Coupes</option>
<option value="chroniques">Chroniques</option>
</select><br/>
Article :<br/><textarea name="article" rows="30" cols="60"></textarea><br/>
Image : <input type="file" name="image"/><br/>
<input type="submit" value="Créer l'article"/>
</p>
</form>
Il semblerai que le problème vienne du if(isset($_FILES['image'])) {... car même la requête n'est pas éxécuté et ça m'affiche : problème avec l'image !
Merci d'avance !
a++
Si la réponse vous convient, pensez : Réponse acceptée ! 