Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema con getimagesize

    Su internet ho trovato uno script che serve a caricare le immagini in una cartella del mio sito.
    File 1

    <form action="foto.php" method="post" enctype="multipart/form-data" >

    <input name="image" type="file" size="40" />

    <input name="upload" type="submit" value="Carica immagine" />
    </form>

    File 2

    <?php
    do {
    if (is_uploaded_file($_FILES['image']['tmp_name'])) {
    // Ottengo le informazioni sull'immagine
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
    // Controllo che il file sia in uno dei formati GIF, JPG o PNG
    if (($type!=1) && ($type!=2) && ($type!=3)) {
    $msg = "Formato non corretto!!";

    break;
    }
    // Verifico che sul sul server non esista già un file con lo stesso nome
    // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
    if (file_exists('img/'.$_FILES['image']['name'])) {
    $msg = "File già esistente sul server.";

    break;
    }
    // Sposto il file nella cartella da me desiderata
    if (!move_uploaded_file($_FILES['image']['tmp_name'],'img/'.$_FILES['image']['name'])) {
    $msg = "Errore nel caricamento dell'immagine!!";

    break;
    }
    }
    } while (false);
    echo $msg;

    ?>

    Se carico uno dei seguenti formati (GIF, JPG e PNG) il codice funziona alla perfezione.
    Se carico un file. bmp o tif, leggo la scritta Formato non corretto!!
    Come faccio a far caricare anche questi due formati?
    Nel codice non vedo la possibilità di scegliere i formati da caricare e non riesco a di conseguenza, non capisco come possa accettare i 3 formati (GIF, JPG e PNG)! :master:
    Mi potete dare una mano?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    204
    Ciao, allora questi sono i diversi formati accettati:

    $types = array(
    1 => 'GIF',
    2 => 'JPG',
    3 => 'PNG',
    4 => 'SWF',
    5 => 'PSD',
    6 => 'BMP',
    7 => 'TIFF(intel byte order)',
    8 => 'TIFF(motorola byte order)',
    9 => 'JPC',
    10 => 'JP2',
    11 => 'JPX',
    12 => 'JB2',
    13 => 'SWC',
    14 => 'IFF',
    15 => 'WBMP',
    16 => 'XBM'
    );

    Come puoi vedere il tuo codice fa un controllo che il file non sia diverso dai primi 3 (gif, jpg e png), ti basta aggiungere il numero del $types che ti serve e puoi accettare anche bmp ($types6) e tiff ($types7 o $types8)


  3. #3

    Funziona!!!!

    Ok! Grazie per la dritta!
    Adesso funziona tutto alla perfezione!

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.