Controllare se un file è una immagine in PHP
In pratica il mio script di upload accetta sia video che immagini.
Ma a seconda del tipo li carico in diverse cartelle; quindi avevo bisogno di capire se il file fosse una immagine o un video.
In PHP dobbiamo usare un workaround; ce ne sono diversi, ed io ho scelto di usare exif_imagetype.
In pratica la funzione determina il tipo di immagine, restituendo false se non lo è.
Quindi:
if (!empty($_FILES)) {
$typeFile = $_FILES['file']['type'];
$name = $_FILES['file']['name'];
$tmpName = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
$size = $_FILES['file']['size'];
$typeArray = array(
'png' => 'image/png',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpg',
'mp4' => 'video/mp4'
);
$dirUpload = './UPLOADS/';
if (exif_imagetype($tmpName)) {
$dirUpload .= 'foto/';
} else {
$dirUpload .= 'video/';
}
.....................................
}
Enjoy!
php exif_imagetype $_files
Commentami!