[PHP]Array et extension de fichier

Résolu/Fermé
winco07 Messages postés 118 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 5 octobre 2012 - 3 févr. 2009 à 17:04
 Balafr3 - 25 juil. 2012 à 12:38
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.
A voir également:

4 réponses

jona303 Messages postés 369 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 janvier 2013 28
3 févr. 2009 à 17:16
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é...
}
1
jona303 Messages postés 369 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 janvier 2013 28
3 févr. 2009 à 17:08
tu fais un
if ($_FILES) {
ton code

}

si j'ai bien compris :)
0
winco07 Messages postés 118 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 5 octobre 2012
3 févr. 2009 à 17:13
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é...
0
winco07 Messages postés 118 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 5 octobre 2012
3 févr. 2009 à 17:19
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
0
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!
0
lol
0