Probléme upload php
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai mon script qui ne fonctionne pas
En effet, peut importe le type d'image que je met, il m'affiche l'erreur : "Le fichier nest pas une image". Alors qu'en réalité si.
Si vous comprenez, merci de m'aidez.
J'ai mon script qui ne fonctionne pas
<?php
if( isset($_POST['upload']) ) // si formulaire soumis
{
$id = $_GET['id'];
$content_dir = 'upload/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( is_uploaded_file($tmp_file) )
{
$type_file = $_FILES['fichier']['type'];
if( strstr($type_file, 'jpg') && strstr($type_file, 'jpeg') && strstr($type_file, 'bmp') && strstr($type_file, 'gif') )
{
if($_FILES['image']['size'] < 30000)
{
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
$extension_image = strrchr(strtolower($name_file), '.');
$name_filefin = $id.$extension_image;
if( move_uploaded_file($tmp_file, $content_dir . $name_filefin) )
{
echo "Le fichier à bien été uploader";
}else{echo "Impossible de copier le fichier"; }
}else{echo "Votre image est supérieure à la taille maximale de 30000 octets";}
}else{echo "Le fichier nest pas une image"; }
}else{echo "Le fichier est introuvable"; }
}else{echo "Merci de remplir le formulaire";}
?>
En effet, peut importe le type d'image que je met, il m'affiche l'erreur : "Le fichier nest pas une image". Alors qu'en réalité si.
Si vous comprenez, merci de m'aidez.
A voir également:
- Probléme upload php
- Upload video youtube - Télécharger - Diffusion
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Fourtoutici upload - Forum Imprimante
- Gofile upload - Télécharger - Téléchargement & Transfert
2 réponses
C'est l'opérateur logique qui n'est pas bon c'est OU à la place de ET ligne 10 :
Car tu ne veux pas tout les types d'images.
<?php
if( isset($_POST['upload']) ) // si formulaire soumis
{
$id = $_GET['id'];
$content_dir = 'upload/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( is_uploaded_file($tmp_file) )
{
$type_file = $_FILES['fichier']['type'];
if( strstr($type_file, 'jpg') || strstr($type_file, 'jpeg') || strstr($type_file, 'bmp') || strstr($type_file, 'gif') )
{
if($_FILES['image']['size'] < 30000)
{
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
$extension_image = strrchr(strtolower($name_file), '.');
$name_filefin = $id.$extension_image;
if( move_uploaded_file($tmp_file, $content_dir . $name_filefin) )
{
echo "Le fichier à bien été uploader";
}else{echo "Impossible de copier le fichier"; }
}else{echo "Votre image est supérieure à la taille maximale de 30000 octets";}
}else{echo "Le fichier nest pas une image"; }
}else{echo "Le fichier est introuvable"; }
}else{echo "Merci de remplir le formulaire";}
?>
Car tu ne veux pas tout les types d'images.
Merci Benvii.
Aprés avoir posté mon message, j'ai continué mes recherches et du coup j'ai fait :
Sa marche aussi.
Merci quand même
Aprés avoir posté mon message, j'ai continué mes recherches et du coup j'ai fait :
<?php
if( isset($_POST['upload']) ) // si formulaire soumis
{
$id = $_GET['id'];
$content_dir = 'upload/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( is_uploaded_file($tmp_file) )
{
$type_file = $_FILES['fichier']['type'];
$allowed_types = array("image/bmp", "image/gif", "image/jpeg", "image/jpg",);
if(in_array($type_file, $allowed_types))
{
$size = $_FILES['fichier']['size'];
if($size < 30000)
{
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
$extension_image = strrchr(strtolower($name_file), '.');
$name_filefin = $id.$extension_image;
if( move_uploaded_file($tmp_file, $content_dir . $name_filefin) )
{
echo "Le fichier à bien été uploader";
}else{echo "Impossible de copier le fichier"; }
}else{echo "Votre image est supérieure à la taille maximale de 30000 octets";}
}else{echo "Le fichier nest pas une image"; }
}else{echo "Le fichier est introuvable"; }
}else{echo "Merci de remplir le formulaire";}
?>
Sa marche aussi.
Merci quand même