Controllare se un file è una immagine in PHP

Mattepuffo's logo
Controllare se un file è una immagine in PHP

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!


Condividi

Commentami!