Ptit problème avec traitement des données du formulaire upload

Répondre
clicone
le 14/02/2008 à 08:57
clicone
Bonjour, 'tit problème avec la fonction upload.

'tit problème au niveau: extension fichier qui me reviens systématiqement pas correcte alors que l'image uploadée en en .gif ou .jpg

Qui peut m’aider ?

Voici ce que j’ai fait.

Formulaire d’upload:
<form enctype = "multipart/form-data" action = "upload.php" method = "post" id = "formulimage" name = "formulimage">
Mon image <input type = "file" name = "monimage" id = "monimage" />
<br />
...

Reception des données:
<?php
include("redimension.php");

$fichier = upload("http//www.monsite.com/images/", "5000000000000", "monimage");

fichier fonction upload:
<?php

function upload($dossierStock, $taille, $inputName) {
global $erreur;
$champFile = $inputName;
$dossier = $dossierStock;
$taille_maxi = $taille;
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG', '.JPEG', '.PNG', '.BMP', '.bmp', '.GIF');

if (isset($_FILES[$champFile])){
$fichier = basename($_FILES[$champFile]['name']);
$taille = filesize($_FILES[$champFile]['tmp_name']);
$extension = strrchr($_FILES[$champFile]['name'], '.');

//verif data
if (!in_array($extension, $extensions)){
$erreur = "extension fichier ".$fichier." pas correcte : ".$extension;
}

if ($taille > $taille_maxi){
$erreur = "image trop grosse";
}
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
Amery
le 14/02/2008 à 09:08
Amery
Salut,

pour récupérer l'extension du fichier, essaie plutôt de passer par "type" :

<?php
$extension = $_FILES['$champsFile']['type'];
?>
LA GLOBULE
le 14/02/2008 à 09:42
LA GLOBULE
Attention, l'extension d'un fichier ne désigne en rien le format du fichier.
Amery
le 20/02/2008 à 13:36
Amery
J'ai découvert une petite fonction bien utile pour détecter si un fichier est bien une image ou pas : exif_imagetype

Par exemple, pour savoir si un fichier a bien le format gif, png ou jpeg :
<?php
if(exif_imagetype($file)<4)
{
Echo "Il s'agit bien d'une image.";
}

?>


Ca m'a l'air plus sûr que de juste vérifier l'extension du fichier.
i M@N
le 20/02/2008 à 14:07
i M@N
Hello.

Sinon y'a la fonction getimagesize qui renvoie le format du fichier image (jpg/png/gif) dans une des valeur du tableau.

@+...
One Love, One Heart, One Unity.
LA GLOBULE
le 20/02/2008 à 14:44
LA GLOBULE
Sauf que cette fonction peut t'affirmer que ton fichier est une image même si il ne s'agit pas d'une image.

En effet, regarde cette news sur getimagesize.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours