J'ai suivi le tutoriel du site sur l'upload de fichier, mais ça ne fonctionne pas
J'ai encore dû faire un truc de travers.
Il n'y a aucun message d'erreur affiché, même lorsque j'essaie de mettre une image supérieur en poids à celui autorisé.
Si quelqu'un pouvait jeter un coup d'oeil à mon code, merci
<form action="astuces.php?astuce=edition" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="80000" />
<p>
<label>Veuillez entrez votre pseudo</label>
<input type="text" name="pseudo" maxlength="12" />
</p>
<p>
<label>Entrez le titre de votre astuce</label>
<input type="text" name="titre" maxlength="50" />
</p>
<p>
<label>Mettre une image</label>
<input type="file" name="image" />
</p>
<textarea name="desc"></textarea>
<input type="submit" value="apercu" />
</form>
<?php
}
if(isset($_POST['pseudo']) && isset($_POST['titre']) && isset($_POST['desc']))
{
if(!empty($_POST['pseudo']) && !empty($_POST['titre']) && !empty($_POST['desc']))
{
$pseudo = htmlentities($_POST['pseudo']);
$titre = htmlentities($_POST['titre']);
$astuce = nl2br(htmlentities($_POST['desc']));
if(isset($_FILES['image']))
{
unset($erreur);
$extension_tolere = array('png', 'jpg', 'jpeg'); // extension d'images autorisées
$poids_max = 80000;
$dossier_upload = "../images/upload";
if( !in_array( substr(strrchr($_FILES['image']['name'], '.'), 1), $extension_tolere ) ) // si l'extension n'est pas de type $extension_tolere
{
$erreur = 'Votre image doit-être de type png, jpeg ou jpg.';
}
elseif( file_exists($_FILES['image']['tmp_name']) // si le fichier existe
&& filesize($_FILES['image']['tmp_name']) > $poids_max) // et si son poids est supérieur à poids_max
{
$erreur = 'Votre image doit être inférieure à 80Ko !';
}
if(!isset($erreur)) // s'il n'y pas d'erreur
{
$dest_img = basename($_FILES['image']['name']); // name signifie le nom de l'image sur la machine du visiteur
$dest_img = strtr($dest_img,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); // remplace les caractères spéciaux
$dest_img = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_img); // remplace les autres caractères spéciaux
move_uploaded_file($_FILES['image']['tmp_name'], $dossier_upload . $dest_img); // tmp_name chemin temporaire du fichier
}
}
if(isset($erreur))
{
echo '<p>', $erreur ,'</p>';
}
}
}
}
Ensuite, j'aurais une question, j'ai déjà vu des sites qui propose plusieurs enregistrement d'images avec le même input, les fichiers s'affichent en dessous au fur et à mesure, comment fait-on cela ?Ah oui, aussi, questin qui va vous sembler bête, pourquoi utiliser la fonction unset en début de formulaire ?
Merci.
