Rechercher : dans
Par :

Upload image: imposer extension et taille ima

sokebana, le 25 nov 2008 à 22:10:14 
 Signaler ce message aux modérateurs

Bonjour
je tente tant bien que mal de faire un formulaire qui upload des images et infos avec réception par mail.
je reçois bien le mail avec toutes les infos, en tenant compte du poids imposé de l'image, sauf que je ne sais pas comment corriger le code pour:

- gérer les extensions: accepter seulement jpg jpeg png et gif
- créer un dossier à chaque uoload de manière à ne pas mélanger les image et eviter les erreurs de ma part
- imposer une taille d'image
- recevoir le texte sans caracteres spéciaux

j'ai mis de bout de code mais je pense qu'ils ne sont pas rattachés...

voici le code partie php:

[CODE]
$formTitre = $_POST['titre'];
$formActivite = $_POST['activite'];
$formNom = $_POST['nom'];
$formPrenom = $_POST['prenom'];
$formMail = $_POST['mail'];
$formAdresse = $_POST['adresse'];
$formCode_ville = $_POST['code_ville'];
$formTelephone = $_POST['tel'];
$formPortable = $_POST['port'];
$formSite_web = $_POST['site_web'];
$formGamme_prix = $_POST['gamme_prix'];
$formZone_activite = $_POST['zone_activite'];
$formFichier1 = $_FILES['fichier1'];
$formDescription = $_POST['description'];

if (isset($_FILES['fichier1']) && $_FILES['fichier1']['error'] == 0) $erreur = "Erreur lors du tranfsert";
{
{
$infosfichier = pathinfo($_FILES['fichier1']['name']);
$extension_upload = $infosfichier['extension'];
$nom_fichier=$_FILES['fichier1']['name'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
$fichier = preg_replace ("` `i","",$fichier);
if ($image_sizes[160] > $maxwidth OR $image_sizes[160] > $maxheight) $erreur = "Image trop grande";
{
move_uploaded_file($_FILES['fichier1']['tmp_name'], 'uploads/' . basename($_FILES['fichier1']['name']));
@chmod('uploads/' . basename($_FILES['fichier1']['name']),0777);
}
}
}
/CODE

et partie html dans le body:

[CODE]
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="formule_visibilite.php">
<input type="hidden" name="MAX_FILE_SIZE" value="10000" />
<input name="fichier1" type="file" size="35" class="fond" accept="image/jpg" />
/CODE
la suite fonctionne, c'est par ici que ça ne fonctionne pas.

par avance si qqu veut bien m'accorder un peu de son temps... un GRAND MERCI

Configuration: Windows XP
Firefox 3.0.4

Meilleures réponses pour « upload image: imposer extension et taille ima » dans :
[Webmaster] Afficher une image de grande taille VoirPour la plupart des internautes, afficher une image de grande taille dans une page web est trop lourd. Zoomify est un petit programme Flash qui permet de rendre une image zoomable et navigable, et chargeant l'image par morceau selon le...
Diminuer la taille d'une image VoirSi vous trouvez que vos photos sont trop grosses ou trop lourdes (par exemple pour envoyer par mail ou pour publier sur une page web), voici 4 étapes pour diminuer la taille des fichiers: Étape 1 (optionnel !) : Passer GREYCStoration sur...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
PHP - Génération d'images VoirPrérequis PHP permet de créer des images au format GIF à l'aide d'une librairie de fonctions prévue à cet effet. La librairie permettant de créer et manipuler des fichiers graphiques se nomme GD, ainsi, pour pouvoir utiliser ces fonctions il faut...
Gestion des images en HTML VoirComment afficher des images sur une page web? Quelques images sur un site Web peuvent le rendre plus attractif et plus convivial, cependant il est important de ne pas sombrer dans l'excès car les images peuvent impliquer un temps de chargement...
LaTeX - Insertion d'images VoirStyle LaTeX permet d'insérer des images de différents formats. Le plus simple est d'insérer des fichiers de type eps (Encapsuled Postscript) : Il suffit d'insérer dans le préambule la ligne suivante : \usepackage{graphicx} Puis d'insérer...