Les Allergies
Alimentaires
Posez votre question Signaler

[PHP]Array et extension de fichier [Résolu]

winco07 103Messages postés 30 mai 2008Date d'inscription 10 novembre 2011Dernière intervention - Dernière réponse le 29 févr. 2012 à 21:15
Bonjour,
Petit souci pour certain mais gros problème pour moi.
J'ai un formulaire de modification. l'utilisateur a pour choix de changer ou pas une image. L'extension de celle ci est contrôlée (jpg uniquement) le souci c'est que du coup je n'ai pas le droit de ne rien mettre dans le champs de l'image.
Les extensions sont stockées dans un tableau ( Array).
Voici le code de la partie concernée :

$extensions = array('.jpg');
$extension = strrchr($_FILES['image']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau

j'avais pensé faire $extensions = array('.jpg, '); mais ca ne marche pas
Merci pour vos réponses.
Lire la suite 

[PHP]Array et extension de fichier »

5 réponses
Réponse
+1
moins plus
re,
ton problème en fait est le cas ou l'utilisateur ne met rien dans '<input type="file"/> ?
Si c'est le cas, vérifie que tu recois bien un file avant de mattre ton code d'upload. :)

avec un
if ($_FILES) {
$dossier = 'upload/';
$fichier = basename($_FILES['image']['name']);
$taille_maxi = 1000000;
$taille = filesize($_FILES['image']['tmp_name']);
$extensions = array('.jpg');
$extension = strrchr($_FILES['image']['name'], '.');
//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 jpg';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
else
{
echo $erreur;
}
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);
$MonObjet = $_POST['Objet'];
if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
}
Ajouter un commentaire
Réponse
+0
moins plus
tu fais un
if ($_FILES) {
ton code

}

si j'ai bien compris :)
Ajouter un commentaire
Réponse
+0
moins plus
Voila mon code :

$dossier = 'upload/';
$fichier = basename($_FILES['image']['name']);
$taille_maxi = 1000000;
$taille = filesize($_FILES['image']['tmp_name']);
$extensions = array('.jpg');
$extension = strrchr($_FILES['image']['name'], '.');
//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 jpg';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
else
{
     echo $erreur;
}
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);
	 $MonObjet = $_POST['Objet'];
     if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
Ajouter un commentaire
Réponse
+0
moins plus
Ha ben oui, je n'y avais pas pensé mais ça résous mon souci. Si le il n'y a pas de fichier je fais rien sinon je vérifie.

Merci bcp
Cassis33 - 29 févr. 2012 à 21:15
Salut!
Désolée de vous déranger.
Je sais que c'est pas dans le sujet mais je cherche le nom d'un film.
L'histoire:
C'est une fille qui s'appelle Lola et qui a un mec qui s'appelle Maël.
Puis il y a les histoires de parents qui divorcent.
C'est un film avec Sophie Marceau sorti en 2009.
Je sais que c'est pas du tout dans le sujet mais s'il vous plaît,je me souviens plus du tout.
Merci et encore désolée pour le hors sujet.
Je serais pas venue si je m'en souvenais.
Pitié!
Merci!
Ajouter un commentaire
Ce document intitulé « [PHP]Array et extension de fichier » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?