Visualizzazione dei risultati da 1 a 3 su 3

Discussione: verifica immagine

  1. #1

    verifica immagine

    Salve sto avendo un problema con il controllo di un file che sia una immagine:

    Codice PHP:
        $tmpname=$_FILES["uplocandina"]["tmp_name"];
        
    $finfo=finfo_open(FILEINFO_MIME_TYPE);
        
    $type=finfo_file($finfo,$tmpname);
        
    finfo_close($finfo);
        
        if(
    $type!="image/gif" || $type!="image/pjpeg" || $type!="image/jpeg" || $type!="image/png" || $type!="image/x-png"$errore=true
    di fatto mi da sempre file non valido cioè come se non fosse una immagine anche se invio una immagine di quel tipo.

  2. #2
    fai in questo modo

    Codice PHP:
    if (($_FILES["uplocandina"]["type"] == "image/jpeg" || $_FILES["uplocandina"]["type"] == "image/pjpeg" || $_FILES["uplocandina"]["type"] == "image/gif" || $_FILES["uplocandina"]["type"] == "image/x-png")) 
    direttamente senza richiamare prima il file e fare le assegnazioni, nel modo scritto in alto richiama la variabile uplocandina e fa il controllo sul tipo di immagine

  3. #3

    Re: verifica immagine

    Originariamente inviato da techno
    Salve sto avendo un problema con il controllo di un file che sia una immagine:

    Codice PHP:
        $tmpname=$_FILES["uplocandina"]["tmp_name"];
        
    $finfo=finfo_open(FILEINFO_MIME_TYPE);
        
    $type=finfo_file($finfo,$tmpname);
        
    finfo_close($finfo);
        
        if(
    $type!="image/gif" || $type!="image/pjpeg" || $type!="image/jpeg" || $type!="image/png" || $type!="image/x-png"$errore=true
    di fatto mi da sempre file non valido cioè come se non fosse una immagine anche se invio una immagine di quel tipo.
    ..che è esattamente quello che ci si aspetta dalle condizioni che hai messo...
    In pratica tu stai dicendo:
    se non è gif OPPURE non è jpeg OPPURE non è ....

    Basta che tu mandi una gif che quando fai il controllo per jpeg fallisce e dato che le hai messe come OR, il risultato è ovviamente true (perchè è una gif...)!

    codice:
    if ($type != "image/gif" and $type != "image/pjpeg" and $type != "image/jpeg" and $type != "image/png" and $type != "image/x-png") {
    $errore = true;
    }
    Così come sopra, invece, tu verifichi le condizioni in questo modo:
    se non è gif e non è pjpg e non è jpeg ... allora errore.
    Appena una delle condizioni diventa false (es: è gif, quindi tipo != gif diventa false) allora tutto l'if assume come valore "false" e quindi non entra nel blocco dove c'è "errore"


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.