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!




Share

Commentami!

About Mattepuffo.com

Blog dedicato all'informatica e alla programmazione!
Tutti i contenuti di questo blog, tranne casi particolari, sono sotto licenza Licenza Creative Commons Creative Commons Attribution-Noncommercial-Share Alike 2.5. .

2664 articoli
310 commenti
19 progetti
Altri link
  • About
  • Scrivimi
  • Copyright
  • Sitemap
  • matteo.ferrone@yahoo.it
  • GitHub
  • Privacy Policy