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

    Upload foto multiple: dove metto il codice sotto?

    Prima di chiedere ho fatto delle ricerche sul forum ed in internet.
    Ho trovato uno scritp per caricare più foto con un solo invio ed è il seguente:

    codice:
    <form action="" method="post" enctype="multipart/form-data">
    
    
    Pictures:
    <input type="file" name="pictures[]" />
    <input type="file" name="pictures[]" />
    <input type="file" name="pictures[]" />
    <input type="submit" value="Send" />
    </p>
    </form>
    <?php
    foreach ($_FILES["pictures"]["error"] as $key => $error) {
       if ($error == UPLOAD_ERR_OK) {
           $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
           $name = $_FILES["pictures"]["name"][$key];
           move_uploaded_file($tmp_name, "data/$name");
       }
    }
    ?>
    Ma non capisco se il codice che parte da foreach va inserito nella pagina del form o se va inserita nella pagina che riceve il form.

    E poi come creo le antreprima per tutte le immagini e come salvo i loro url (di immagini e di anteprima) in un db?
    montagne neve dolomiti
    Che ci posso fare se mi piacciono le montagne?

  2. #2
    L'ho messo così per 2 foto:

    codice:
    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
    // DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
    
    /********************* VARIABILI DA SETTARE ********************/
    // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/upload";
    
    foreach ($_FILES["upfile"]["error"] as $key => $error) {
    // Eventuale nuovo nome da dare al file uploadato
    #$nnow = time();
    #$nrandom = rand(1000, 9999);
    $new_name = "";
    
    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
    
    if(trim($_FILES["upfile"]["name"]) == "") {
    die("Non hai indicato il file da uploadare !");
    }
    
    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
    
    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name") 
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
    
    } else {
    die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);
    }
    echo "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente";
    }
    
    $allowed_types = array("image/gif","image/x-png","image/pjpeg","image/jpeg");
    if(!in_array($_FILES["upfile"]["type"],$allowed_types)) {
    die("Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode(",", $allowed_types) . ".");
    }
    
    
    ?>
    Però mi dice sempre:

    Problemi nell'upload del file Array

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

  3. #3
    Bene, sono riuscito a far caricare più foto contemporaneamente.
    Continuiamo con il progetto...

    Ora come faccio a rinominare le foto?
    La riga per il nome ora è questa:

    $name = $_FILES["upfile"]["name"][$key];


    Mentre per caricare una foto singola avevo usato:
    codice:
    $new_name = "";
    
    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
    Ora vorrei che per ogni immagine, essa venisse controllata che fosse "buona" poi venisse rinominata e poi venisse creata la thumb.
    montagne neve dolomiti
    Che ci posso fare se mi piacciono le montagne?

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.