Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di GunMan
    Registrato dal
    Dec 2005
    Messaggi
    2,642

    upload multiplo + resize (convert)

    salve a tutti

    so bene che l'argomento è stato abbondantemente trattato ma a causa della mia ignoranza in ambito php non riesco ad ottenere i risultati sperati.

    ho preso spunto dalla seguente pillola e devo ammettere che, dopo alcuni aggiustamenti e personalizzazioni, il tutto funziona bene.

    purtroppo però non riesco ad implementare al tutto una funzione di multi upload, mi sono rifatto al thread, ma non c'è verso di farlo funzionare.

    a questo pensavo di procedere in questo modo:

    utilizzo il seguente codice per fare il multi upload

    Codice PHP:
    <?php
    $numberfile 
    0;
    if (isset(
    $_POST['uploadfile']) AND $_POST['uploadfile']>0$numberfile $_POST['uploadfile'];
    $msg="";
    $img="";
    $maxFileUpload "30";
    $path "tmp/";
    for(
    $i=1;$i<=$numberfile;$i++) {
        if (isset(
    $_FILES['fileupload'.$i])){
            
    $fileupload_temp  $_FILES['fileupload'.$i]['tmp_name'];
            
    $fileupload_name  $_FILES['fileupload'.$i]['name'];
            
    $fileupload_size  $_FILES['fileupload'.$i]['size'];
            
    $fileupload_type  $_FILES['fileupload'.$i]['type'];
            
    $fileupload_error $_FILES['fileupload'.$i]['error'];
              
    $target_path $path.basename($fileupload_name);
            if(
    move_uploaded_file($fileupload_temp$target_path)){
                  
    $msg .= "<span class=\"TestoLinks\">Il file $fileupload_name é stato caricato con successo.</span>";
                
    $img "<img src=\"upload/$fileupload_name\" width=\"120\" height=\"80\">";
            } else {
                
    $msg .= "<span class=\"TestoLinks\">Il file $i NON é stato caricato.</span>";
            }            
        }
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>
    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="fileupload" id="fileupload">
    Seleziona il numero di file che vuoi caricare:<select name="uploadfile" id="uploadfile" onchange="this.form.submit()">
    <?php for($i=0;$i<=$maxFileUpload;$i++) {
        echo 
    "<option value=\"$i\"";
        if (
    $numberfile==$i) echo "selected"// importante!
        
    echo ">$i</option>";
    ?></select><hr />
    <?php for($i=1;$i<=$numberfile;$i++) { echo "$i<input type=\"file\" name=\"fileupload".$i."\" id=\"fileupload".$i."\" />
    "
    ; }  ?>
    <hr />
    <input name="Submit" type="submit" id="Submit" value="Submit" />
    </form>


    <?php echo $msg."
    "
    .$img;?></p>
    </body>
    </html>
    successivamente sarebbe possibile usare la funzione copy e convert per copiare il contenuto della directory A alla B ed eseguire il resize di questi file?

    grazie anticipatamente per le eventuali risposte.

    Chaos A.D. Disorder unleashed.
    Starting to burn. Starting to lynch.
    Silence means death. Stand on your feet.
    Inner fear. Your worst enemy.

    Refuse / Resist

  2. #2
    Utente di HTML.it L'avatar di GunMan
    Registrato dal
    Dec 2005
    Messaggi
    2,642
    up
    Chaos A.D. Disorder unleashed.
    Starting to burn. Starting to lynch.
    Silence means death. Stand on your feet.
    Inner fear. Your worst enemy.

    Refuse / Resist

  3. #3
    Utente di HTML.it L'avatar di GunMan
    Registrato dal
    Dec 2005
    Messaggi
    2,642
    up
    Chaos A.D. Disorder unleashed.
    Starting to burn. Starting to lynch.
    Silence means death. Stand on your feet.
    Inner fear. Your worst enemy.

    Refuse / Resist

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    a occhio e croce dovrebbe funzionare....

    nel form di upload cambia solo il nome del campo file in name="uploadfile[]"
    Codice PHP:
    <?php
    $numberfile 
    0;
    if (isset(
    $_POST['uploadfile']) AND $_POST['uploadfile']>0$numberfile $_POST['uploadfile'];
    $msg="";
    $img="";
    $maxFileUpload "30";
    $path "tmp/";




    foreach (
    $_FILES['fileupload']['name'] as $num=>$file
      {
      if (!empty(
    $_FILES['fileupload']['name'][$num])
        {
        
    $fileupload_temp  $_FILES['fileupload']['tmp_name'][$num];
        
    $fileupload_name  $_FILES['fileupload']['name'][$num];
        
    $fileupload_size  $_FILES['fileupload']['size'][$num];
        
    $fileupload_type  $_FILES['fileupload']['type'][$num];
        
    $fileupload_error $_FILES['fileupload']['error'][$num];
        
    $target_path $path.basename($fileupload_name);
        if(
    move_uploaded_file($fileupload_temp$target_path))
          {
          
    $msg .= "<span class=\"TestoLinks\">Il file $fileupload_name é stato caricato con successo.</span>";
          
    $img "<img src=\"upload/$fileupload_name\" width=\"120\" height=\"80\">";
          } 
        else 
          {
          
    $msg .= "<span class=\"TestoLinks\">Il file $name NON é stato caricato.</span>";
          }            
        }
      }
    ?>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    Utente di HTML.it L'avatar di GunMan
    Registrato dal
    Dec 2005
    Messaggi
    2,642
    ciao dottwatson, ti ringrazio per la risposta

    però forse non mi sono spiegato sufficientemente bene, non è il multi upload a creare problemi, quello che non riesco ad ottenere è un resize (o in alternativa la creazione di thumbnail) dei file.

    il codice che ho inserito nel primo post funziona bene, naturalmente si limita a caricare sul server i file specificati senza modificarli in alcun modo.

    Chaos A.D. Disorder unleashed.
    Starting to burn. Starting to lynch.
    Silence means death. Stand on your feet.
    Inner fear. Your worst enemy.

    Refuse / Resist

  6. #6
    ciao,

    puoi utlizzare le librerie gd2 di php, che ti permettono di generare una thumbnail a partire da un'immagine più grande.


    ti posto qualcosa

    $thumb = imagecreatetruecolor($w,$h);
    $source = imagecreatefromjpeg($_FILES['immagine']['tmp_name']);
    imagecopyresized($thumb, $source, 0, 0, 0, 0, $w, $h, $width, $height);

    imagejpeg($thumb, "nomeimmagine.jpg e eventuale percorso", 100)

    $w e $h rappresentano le dimensioni dalla thumbnail, io normalmente le ottengo dinamicamente dall'immagine reale in modo da effettare un resize corretto dell'immagine...

    mentre $width e $height rappresentano le dimensioni dell'immagine grande


  7. #7
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    salve. riapro questo 3d per chidere una cosa. ho usato il codice e l'upload funziona correttamente pero le immagini non me le ritrovo dentro la cartella di destinazione. pero quando visualizzo l'immagine mi fa vedere il percorso della cartella. come e' possibile.

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.