Visualizzazione dei risultati da 1 a 4 su 4

Discussione: upload + immagini

  1. #1

    upload + immagini

    ho un problema con l'upload di + immagini in contemporanea. non riesco a farle caricare xò il ciclo mi sembra corretto. mi dice che alla lina 4 del upload_elenco_foto.inc.php c'è

    Fatal error: Unsupported operand types

    nn so cm uscirci, le ho provate tutte

    Codice PHP:
    $percorso_foto "$_SERVER[DOCUMENT_ROOT]immagini/img"//cartella foto delle immagini che carico

    foreach($_FILES["upfile"]["name"] as $idfoto=>$upfile)
    {
    $nfoto $idfoto+1;
    if(
    $_FILES["upfile"]["name"]==!""// c'è la fotografia
    {
    include_once(
    "upload_elenco_foto.inc.php");
    $e "UPDATE prova SET foto_"$nfoto ."='$fotoallegata' WHERE id='$inserimento'";
    mysql_query($e,$connessione);

    a questo punto upload_elenco_foto.inc.php è fatto così

    Codice PHP:

    $grandezza_file 
    $_FILES["upfile"]["size"];
    $estensione_file $_FILES["upfile"]["type"];
    $grandezza = ($grandezza_file/1024);
    if((
    $grandezza_file $grandezza_max_foto) || (!in_array($_FILES["upfile"]["type"],$estensioniconsentite_foto)))
                                {
                                
                            if(!
    in_array($_FILES["upfile"]["type"],$estensioniconsentite_foto))
                                        {
                             echo
    "[*]L'immagine numero $nfoto non può essere caricata perché di un tipo non permesso. Sono ammesse solamente fotografie di tipo <span class=\"grassetto\">$stampo_estensioniconsentitefoto</span>.";
                                        } 
    // tipo non consentito
                            
    if($grandezza_file $grandezza_max_foto)
                                        {
                             echo
    "[*]L'immagine numero $nfoto non può essere caricata perché troppo grande. La dimensione massima consentita è $stampo_dimensionefoto Kb e il file caricato pesa ".round($grandezza,2)." Kb.";
                                        }  
    //dimensione
                                
    }
                    else
                                {
    if(
    in_array($_FILES["upfile"]["type"],$estensioniconsentite_foto_jpg))
    {
    $ext "jpg";
    }
    if(
    in_array($_FILES["upfile"]["type"],$estensioniconsentite_foto_gif))
    {                
    $ext "gif";
    }                                                        
                    
    $nomefile Random();    
                    
    $upfile "" .$nomefile .".".$ext."";
                    
    is_uploaded_file($_FILES["upfile"]["tmp_name"]);
                    
    move_uploaded_file($_FILES["upfile"]["tmp_name"], "$percorso_foto/fullsize/$upfile"); //salvo la foto caricata nel percorso 
                    
    copy("$percorso_foto/fullsize/$upfile","$percorso_foto/thumbnails/$upfile");
                    
    copy("$percorso_foto/fullsize/$upfile","$percorso_foto/halfsize/$upfile");
                    
                    if(
    $ext=="gif")
                    { 
    $fullsize=imagecreatefromgif("$percorso_foto/fullsize/$upfile"); // prendo l'immagine da dove l'ho salvata
                    
    }
                    if(
    $ext=="jpg")
                    { 
    $fullsize=imagecreatefromjpeg("$percorso_foto/fullsize/$upfile"); // prendo l'immagine da dove l'ho salvata
                    
    }
                    
    $fullsize_height=imagesy($fullsize);
                    
    $fullsize_width=imagesx($fullsize);
                    
                    
    //miniatura
                    
    $thumb_width=150//gli dico la larghezza
                    
    $thumb_height=floor($fullsize_height/($fullsize_width/$thumb_width)); // se voglio tenere le proporzioni
                    
    $thumb=imagecreatetruecolor($thumb_width,$thumb_height);
                    
    imagecopyresampled($thumb,$fullsize,0,0,0,0,$thumb_width,$thumb_height,$fullsize_width,$fullsize_height);
                    
    //mezza misura
                    
    $hlf_width=300// gli dico la larghezza
                    
    $hlf_height=floor($fullsize_height/($fullsize_width/$hlf_width)); // se voglio tenere le proporzioni
                    
    $hlf=imagecreatetruecolor($hlf_width,$hlf_height);
                    
    imagecopyresampled($hlf,$fullsize,0,0,0,0,$hlf_width,$hlf_height,$fullsize_width,$fullsize_height);
                    
                    
                    if(
    $ext=="gif")
                    {     
    imagegif($thumb,"$percorso_foto/thumbnails/$upfile");                
                        
    imagejpeg($hlf,"$percorso_foto/halfsize/$upfile");                }
                    if(
    $ext=="jpg")
                    {    
    imagejpeg($thumb,"$percorso_foto/thumbnails/$upfile");    
                         
    imagejpeg($hlf,"$percorso_foto/halfsize/$upfile");                }
                    
                    
    imagedestroy($fullsize);
                    
    imagedestroy($thumb);
                    
    imagedestroy($hlf);

                    
    $fotoallegata ereg_replace("".$_SERVER['DOCUMENT_ROOT']."","","$percorso_foto/halfsize/$upfile");
                    echo
    "[*]L'immagine numero $nfoto è stata correttamente caricata.";
                                } 

  2. #2
    A prima vista noto che hai dimenticato una parentesi in fondo al primo blocco di codice, anche se magari è solo uno spezzone di codice e quindi la mia affermazione non avrebbe senso...

  3. #3
    Seconda cosa, anche questa magari superflua..

    Questa scritta non mi sembra corretta:

    Codice PHP:
    foreach($_FILES["upfile"]["name"] as $idfoto=>$upfile
    Secondo me sarebbe corretto:

    Codice PHP:
    foreach($_FILES["upfile"] as $idfoto=>$upfile

  4. #4
    HO RISOLTOOO!!!! magari può servire a qualcuno xcui posto la mia soluzione..magari xò qlc me la controlli
    parto con il modulo di upload

    Codice PHP:
    echo"
    <form action=\"
    $PHP_SELF?salva=scheda\" method=\"post\" name=\"scheda\" onsubmit=\"return validateschedanegozi();\" enctype=\"multipart/form-data\">
    <ul>"
    ;
    //altri campi del form 
    echo"....";
    $numerodicampichevoglio 4;
    for(
    $i=1;$i<=$numerodicampichevoglio ;$i++)

    echo
    "[*]fotografia n° $i\n[*]<input name=\"upfile[]\" type=\"file\" id=\"upfile"$i ."\"/>\n";
    }
    echo
    "[/list]
    </form>"

    eppoi il salvataggio

    Codice PHP:
    //definisco le estensioni immagini che accetto
    $estensioniconsentite_foto_jpg = array("image/pjpeg","image/jpeg","image/jpg");
    $estensioniconsentite_foto_gif = array("image/gif");
    $estensioniconsentite_foto = array("image/pjpeg","image/jpeg","image/jpg","image/gif");

    mysql_query("INSERT INTO prova (nome, provincia, telefono, sito) VALUES ('$nome', '$provincia', '$telefono', '$sitoweb')"$connessionealdatabase); // salvo gli altri campi del modulo

    $inserimento mysql_insert_id();

    $percorso_foto "$_SERVER[DOCUMENT_ROOT]immagini/fotografie"//cartella foto delle immagini che carico
    foreach($_FILES["upfile"]["error"] as $idfoto => $caricato)
    {
    $nfoto $idfoto+1;
    if(
    $caricato==UPLOAD_ERR_OK)  // c'è la fotografia
    {



    // carico le immagini in 3 formati: miniatura, mezza misura, misura intera
    $grandezza_file $_FILES["upfile"]["size"][$idfoto];
    $estensione_file $_FILES["upfile"]["type"][$idfoto];
    $grandezza = ($grandezza_file/1024);
    if((
    $grandezza_file $grandezza_max_foto) || (!in_array($_FILES["upfile"]["type"][$idfoto],$estensioniconsentite_foto)))
                                {
                                
                            if(!
    in_array($_FILES["upfile"]["type"][$idfoto],$estensioniconsentite_foto))
                                        {
                             echo
    "[*]L'immagine numero $nfoto non può essere caricata perché di un tipo non permesso. Sono ammesse solamente fotografie di tipo <span class=\"grassetto\">$stampo_estensioniconsentitefoto</span>. tipo->".$_FILES["upfile"]["type"][$idfoto]."<- tipo ";
                                        } 
    // tipo non consentito
                            
    if($grandezza_file $grandezza_max_foto)
                                        {
                             echo
    "[*]L'immagine numero $nfoto non può essere caricata perché troppo grande. La dimensione massima consentita è $stampo_dimensionefoto Kb e il file caricato pesa ".round($grandezza,2)." Kb.";
                                        }  
    //dimensione
                                
    }
                    else
                                {
    if(
    in_array($_FILES["upfile"]["type"][$idfoto],$estensioniconsentite_foto_jpg))
    {
    $ext "jpg";
    }
    if(
    in_array($_FILES["upfile"]["type"][$idfoto],$estensioniconsentite_foto_gif))
    {                
    $ext "gif";
    }                                                        
                    
    $nomefile Random();    // ho una funzione che mi assegna un nome random
                    
    $upfile "" .$nomefile .".".$ext."";
                    
    is_uploaded_file($_FILES["upfile"]["tmp_name"][$idfoto]);
                    
    move_uploaded_file($_FILES["upfile"]["tmp_name"][$idfoto], "$percorso_foto/fullsize/$upfile"); //salvo la foto caricata nel percorso 
                    
    copy("$percorso_foto/fullsize/$upfile","$percorso_foto/thumbnails/$upfile");
                    
    copy("$percorso_foto/fullsize/$upfile","$percorso_foto/halfsize/$upfile");
                    
                    if(
    $ext=="gif")
                    { 
    $fullsize=imagecreatefromgif("$percorso_foto/fullsize/$upfile"); // prendo l'immagine da dove l'ho salvata
                    
    }
                    if(
    $ext=="jpg")
                    { 
    $fullsize=imagecreatefromjpeg("$percorso_foto/fullsize/$upfile"); // prendo l'immagine da dove l'ho salvata
                    
    }
                    
    $fullsize_height=imagesy($fullsize);
                    
    $fullsize_width=imagesx($fullsize);
                    
                    
    //miniatura
                    
    $thumb_width=150//gli dico la larghezza
                    
    $thumb_height=floor($fullsize_height/($fullsize_width/$thumb_width)); // se voglio tenere le proporzioni
                    
    $thumb=imagecreatetruecolor($thumb_width,$thumb_height);
                    
    imagecopyresampled($thumb,$fullsize,0,0,0,0,$thumb_width,$thumb_height,$fullsize_width,$fullsize_height);
                    
    //mezza misura
                    
    $hlf_width=300// gli dico la larghezza
                    
    $hlf_height=floor($fullsize_height/($fullsize_width/$hlf_width)); // se voglio tenere le proporzioni
                    
    $hlf=imagecreatetruecolor($hlf_width,$hlf_height);
                    
    imagecopyresampled($hlf,$fullsize,0,0,0,0,$hlf_width,$hlf_height,$fullsize_width,$fullsize_height);
                    
                    
                    if(
    $ext=="gif")
                    {     
    imagegif($thumb,"$percorso_foto/thumbnails/$upfile");                
                        
    imagejpeg($hlf,"$percorso_foto/halfsize/$upfile");                }
                    if(
    $ext=="jpg")
                    {    
    imagejpeg($thumb,"$percorso_foto/thumbnails/$upfile");    
                         
    imagejpeg($hlf,"$percorso_foto/halfsize/$upfile");                }
                    
                    
    imagedestroy($fullsize);
                    
    imagedestroy($thumb);
                    
    imagedestroy($hlf);

                    
    $fotoallegata ereg_replace("".$_SERVER['DOCUMENT_ROOT']."","","$percorso_foto/halfsize/$upfile");
                    echo
    "[*]L'immagine numero $nfoto è stata correttamente caricata.";
                                }



    mysql_query("UPDATE prova SET foto_"$nfoto ."='$fotoallegata' WHERE id='$inserimento'",$connessionealdatabase); //update o insert, a seconda dei casi


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.