J'ai cette extension vérificateur:PHP: exif_imagetype() ne fonctionne pas?
$upload_name = "file";
$max_file_size_in_bytes = 8388608;
$extension_whitelist = array("jpg", "gif", "png", "jpeg");
/* checking extensions */
$path_info = pathinfo($_FILES[$upload_name]['name']);
$file_extension = $path_info["extension"];
$is_valid_extension = false;
foreach ($extension_whitelist as $extension) {
if (strcasecmp($file_extension, $extension) == 0) {
$is_valid_extension = true;
break;
}
}
if (!$is_valid_extension) {
echo "{";
echo "error: 'ext not allowed!'\n";
echo "}";
exit(0);
}
Et puis j'ajouté ceci:
if (exif_imagetype($_FILES[$upload_name]['name']) != IMAGETYPE_GIF
OR exif_imagetype($_FILES[$upload_name]['name']) != IMAGETYPE_JPEG
OR exif_imagetype($_FILES[$upload_name]['name']) != IMAGETYPE_PNG) {
echo "{";
echo "error: 'This is no photo..'\n";
echo "}";
exit(0);
}
Dès que je l'a ajouté à ma fonction ImageUpload, la fonction cesse de fonctionner. Je ne reçois aucune erreur, même pas celui que je me suis fait "ce n'est pas une photo", qu'est-ce qui ne va pas?
Juste vérifié avec mon hôte. Ils prennent en charge la fonction exif_imagetype()
avant cela, pouvez-vous optimiser cette partie en premier? 'if (exif_imagetype ($ _FICHES [$ upload_name] ['nom'])! = IMAGETYPE_GIF OU exif_imagetype ($ _FICHES [$ upload_name] ['nom'])! = IMAGETYPE_JPEG OU exif_imagetype ($ _FICHES [$ upload_name] ['nom '])! = IMAGETYPE_PNG) 'remplacer à' switch', vous devez le répéter trois fois afin de déterminer 'exif_miagetype' – ajreal
Je ne comprends pas, pouvez-vous montrer l'exemple? – Karem
n'est pas mauvais avec votre code, mais il peut s'améliorer à quelque chose comme la première réponse - retour à votre problème, pouvez-vous vérifier 'is_uploaded_file' avant de tout initier? - http://www.php.net/manual/fr/function.is-uploaded-file.php – ajreal