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

    [upload imm]Come controllo se è un formato permesso?

    Sono arrivato a far funzionare il caricamento con rinomina e salvataggio dell'url di più immagini contemporaneamente.

    Ora vorrei elaborare lo script aggiungendo un controllo che se trova che l'immagine non è una jpg oppure se la trova sopra i tot kb non me la carica.

    L'attuale script è il seguente:
    codice:
    foreach ($_FILES["upfile"]["error"] as $key => $error) {
    $src = $_FILES["upfile"]["tmp_name"][$key];
    
       if ($error == UPLOAD_ERR_OK) {
           $tmp_name = $_FILES["upfile"]["tmp_name"][$key];
    	   $nnow = time();
    	   $nrandom = rand(100000000, 999999999);
    	   $name = "".$nnow."-".$nrandom."-ski.jpg";
    	   $name = ($name) ? $name : $_FILES["upfile"]["name"][$key];
           move_uploaded_file($tmp_name, "upload/$name");
    	   $nome_foto = $name;
    	   $query1 =mysql_query( "SELECT MAX(id_loc) FROM tab_loc");
    	   $idrif_foto = mysql_result($query1,0,0);
    	   $query = "INSERT INTO tab_foto (idrif_foto, nome_foto, cat_foto) VALUES ('$idrif_foto', '$name', '123')";
    if (mysql_query($query, $db))
    echo "La foto è stato inserita correttamente";
    else
    echo "Erorre durante l'inserimento";
    Il cotrollo per una sola immagine viene fatto così:
    codice:
    $allowed_types = array("image/gif","image/x-png","image/pjpeg","image/jpeg");
    if(!in_array($_FILES["skimap"]["type"],$allowed_types)) {
    die("Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode(",", $allowed_types) . ".");
    }
    Ma non riesco ad integrare questo ocntrollo nel codice per più immagini

    GRAZIE
    montagne neve dolomiti
    Che ci posso fare se mi piacciono le montagne?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova con:
    Codice PHP:
    if(!in_array($_FILES["skimap"]["type"][$key],$allowed_types)) 
    (Naturalmente all'interno del tuo ciclo...)

    per quanto riguarda invece l'altro punto
    "...oppure se la trova sopra i tot kb non me la carica..."
    guarda a questo link:
    http://it2.php.net/manual/it/function.filesize.php


    ciao

  3. #3
    Originariamente inviato da ken84
    prova con:
    Codice PHP:
    if(!in_array($_FILES["skimap"]["type"][$key],$allowed_types)) 
    (Naturalmente all'interno del tuo ciclo...)
    ciao
    Grazie.
    Ma se la condizione dell' IF è soddisfatta allora stampo file non permesso altrimenti lo carico?

    Io sono impazzito perchè pensavo fosse il contrario ed infatti mi dava sempre file non permesso.
    montagne neve dolomiti
    Che ci posso fare se mi piacciono le montagne?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Non ti fidare degli header HTTP. Ti faccio in 2 minuti un upload di un exe con header application/jpg. Dai una letta al file prima di fidarti del mime type. Penso che nelle funzioni di GD ci sia qualcosa che fa al caso tuo (anche se non esattamente)
    There are 10 types of people in the world - those who understand binary and those who don't.

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.