Page 1 sur 1
Problème de syntaxe
Posté : 20 nov. 2006, 11:50
par dunbar
Bonjour,
J'ai un soucis je crée un formulaire à partir duquel il est possible de télécharger une photo mais il prend pas quand je lui place plusieurs extension autoriser ?
$extension = array('jpg','jpeg','gif','png');
Et par contre ceci fonctionne :
$extension = 'gif';
Pourriez-vous me dire ou est mon erreur ?
D'avance merci
Posté : 20 nov. 2006, 11:54
par Ryle
Très certainement au niveau du code qui teste les extensions autorisées qui doit gérer une chaine et non pas un tableau

Posté : 20 nov. 2006, 12:09
par dunbar
Très certainement au niveau du code qui teste les extensions autorisées qui doit gérer une chaine et non pas un tableau

Salut
$extensions = array('jpg', 'gif');
Non je ne pense pas
$lastPos = strRChr($_FILES['aFile']['name'], ".");
if ($lastPos !== false && in_array(strToLower(subStr($lastPos, 1)), $extensions)) {
Il me donne comme erreur que l'extension est pas bonne alors que j'ai bien un fichier avec l'extension autoriser

Posté : 20 nov. 2006, 12:32
par Cyrano
Vérifie donc le type mime correspondant plutôt, ça va simplifier :
exemple :
<?php
//...
if($_FILES["aFile"]["type"] == "image/jpeg" ||
$_FILES["aFile"]["type"] == "image/png" ||
$_FILES["aFile"]["type"] == "image/gif"
)
{
//...
?>
Ou encore :
<?php
//...
$extensions = array(
"image/jpeg",
"image/png",
"image/gif"
);
if(!in_array($_FILES['aFile']['type'], $extensions))
{
//...
Posté : 20 nov. 2006, 12:32
par Ryle
Bizare en effet... tu as affiché les valeurs de :
- $lastPos
- subStr($lastPos, 1)
- strToLower(subStr($lastPos, 1))
- in_array(strToLower(subStr($lastPos, 1)), $extensions)
Pour vérifier ce que contenaient les premières et ce que retournait la dernière ?
Posté : 20 nov. 2006, 13:45
par mere-teresa
Un petit print_r ou var_dump s'impose pour vérifier le contenu des valeurs auxquelles tu compares les données sur ton fichier...
Posté : 20 nov. 2006, 14:48
par dunbar
Vérifie donc le type mime correspondant plutôt, ça va simplifier :
exemple :
<?php
//...
if($_FILES["aFile"]["type"] == "image/jpeg" ||
$_FILES["aFile"]["type"] == "image/png" ||
$_FILES["aFile"]["type"] == "image/gif"
)
{
//...
?>
Ou encore :
<?php
//...
$extensions = array(
"image/jpeg",
"image/png",
"image/gif"
);
if(!in_array($_FILES['aFile']['type'], $extensions))
{
//...
Merci ta méthode fonctionne.
Merci à tous

Posté : 20 nov. 2006, 15:12
par Cyrano
Un peu qu'elle fonctionne, je ne t'en aurais pas parlé sinon
