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

    $_FILES quali le cause dell'errore 4?

    Salve a tutti... sono letteralmente disperato... ho fatto uno script di caricaricamento file che in una pagina del sito funziona perfettamente e in un altra neanche per sogno..

    pagina html:
    Codice PHP:
    <fieldset>
      <
    legend>Foto galleria  :</legend>
      


        <
    input type="button" name="ss" value="Aggiungi campo" onclick="inserisci_campo(x=2)"/>
      </
    p>
      


        <
    input name="UploadFile2[]" id="UploadFile2[]" type="file"/>
        <
    div id="div_2"></div>
      </
    p>
      

    </
    p>
    </
    fieldset
    funzione js inserisci_campo
    Codice PHP:
    function inserisci_campo(x){
      if(
    x==2){
      
    immagine document.createElement("input")
      
    immagine.setAttribute("type","file")
      
    immagine.setAttribute("name","UploadFile2[]")
      
    par document.createElement("p")
      
    document.getElementById("div_2").appendChild(par)
      
    document.getElementById("div_2").appendChild(immagine)
      }

    pagina php per recupero dei file da uploadare
    Codice PHP:
    $i=1;
    foreach (
    $_FILES["UploadFile".$i.""]["error"] as $key => $error) {
      if (
    $error == UPLOAD_ERR_OK) {
        
    $tmp_name $_FILES["UploadFile".$i.""]["tmp_name"][$key];
        if(
    $i==1){
        
    $a++;
        
    $name $id.'_principale_'.$a.'.jpg';
        
    $ind_home=$a;
      }
      
    move_uploaded_file($tmp_name"foto/$name");

    Tutto questo è riprodotto in due pagine diverse dello stesso sito... in una funziona e in una no!!!! L'errore che mi ritorna è il 4, cosa può provocare questo errore?

    E' un upload di foto, il campo è uno, e tramite js ne aggiungo altri dinamicamente per caricare più foto contemporaneamente.

    Ah, su questa pagina dove non funziona, se metto dei campi input statici (invece che caricarli con DOM di js) i file vengo uploadati correttamente.
    Ma dato che le pagini si trovano nella stessa cartella, nello stesso dominio, il js è lo stesso importato... insomma sono uguali in tutto a parte la composizione delle pagine che naturalmente sono diverse...

    Vi prego illuminatemi perchè non so più dove battere la testa.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    onclick="inserisci_campo(x=2)" ? troppa grazia, imho, intanto riducila a

    onclick="inserisci_campo(2);"

    Poi la logica PHP è alquanto contorta... come potrà mai recuperare i file "2" se $i lo poni ad 1 sempre e comunque?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    No va bè sono cose che ho inserito ora per scrivere qui sul forum... come dicevo gira bene lo script... tranne in questa famosa pagina dove carica solo una foto... praticamente il foreach lo fa una volta e poi ritorna l'errore 4... lo script intero sarebbe questo...

    Codice PHP:
    for($i=1$i<3$i++){
                    
    $a=0;
                    
    $b=0;
                    foreach (
    $_FILES["UploadFile".$i.""]["error"] as $key => $error) {
                        if (
    $error == UPLOAD_ERR_OK) {
                            
    $tmp_name $_FILES["UploadFile".$i.""]["tmp_name"][$key];
                            if(
    $i==1){
                                
    $a++;
                                
    $name $id.'_riempihome_'.$a.'.jpg';
                                
    $ind_home=$a;
                            }
                            if(
    $i==2){
                                
    $b++;
                                
    $name $id.'_riempidesc_'.$b.'.jpg';
                                
    $ind_desc=$b;
                            }
                            
                            
    move_uploaded_file($tmp_name"foto/$name");
        
                            
    // CREAZIONE DELLA STRINGA CHE CI INDICA IL NUMERO DELL'ULTIMA FOTO INSERITA PER OGNI CAMPO
                            
    if($ind_home == null){
                                
    $foto '-0';
                            }
                            else{
                                
    $foto '-'.$ind_home;
                            }
                            if(
    $ind_desc == null){
                                
    $foto $foto.'-0';
                            }
                            else{
                                
    $foto $foto.'-'.$ind_desc;
                            }
                            
                            
    $fullsize=imagecreatefromjpeg("foto/$name");//Prelevo l'immagine da dove l'ho salvata precedentemente
                            
    $fullsize_height=imagesy($fullsize);
                            
    $fullsize_width=imagesx($fullsize);
                            if(
    $fullsize_width >= $fullsize_height){
                                
    $image_width=500;//dimensione della larghezza della image, l'altezza viene fatta in proporzione
                                
    $thumb_width=120;//dimensione della larghezza della thumb, l'altezza viene fatta in proporzione
                                
    $image_height=floor($fullsize_height/($fullsize_width/$image_width));//si ridefinisce l'altezza
                                
    $thumb_height=floor($fullsize_height/($fullsize_width/$thumb_width));//si ridefinisce l'altezza
                            
    }
                            else{
                                if(
    $fullsize_height $fullsize_width){
                                    
    $image_height=500;//dimensione della larghezza della image, l'altezza viene fatta in proporzione
                                    
    $thumb_height=120;//dimensione della larghezza della thumb, l'altezza viene fatta in proporzione
                                    
    $image_width=floor($fullsize_width/($fullsize_height/$image_height));//si ridefinisce l'altezza
                                    
    $thumb_width=floor($fullsize_width/($fullsize_height/$thumb_height));//si ridefinisce l'altezza
                                
    }
                            }
                             
                            
    $image=imagecreatetruecolor($image_width,$image_height);
                            
    $thumb=imagecreatetruecolor($thumb_width,$thumb_height);
                            
                            
    imagecopyresampled($image,$fullsize,0,0,0,0,$image_width,$image_height,$fullsize_width,$fullsize_height);
                            
    imagecopyresampled($thumb,$fullsize,0,0,0,0,$thumb_width,$thumb_height,$fullsize_width,$fullsize_height);
                            
                            
    $myFile "foto/$name";
                            
    unlink($myFile); //rimuovo il file utilizzato per il ridimensionamento dalla cartella, lasciando solo quelli in big e small
                            
    imagedestroy($fullsize);
                            
    imagejpeg ($thumb,"foto/small/$name");//posso modificare il percorso dell'immagine piccola da qui
                            
    imagejpeg ($image,"foto/big/$name");//posso modificare il percorso dell'immagine grande da qui
                            
    imagedestroy($image);
                            
    imagedestroy($thumb);
                        }
                    }
                } 

  4. #4
    La cosa incredibile è che uso questi tre script in copia e incolla in altre 3 pagine e tutte funzionano... l'unica mi sa che sarà rifare da capo questa pagina... magari c'è qualcosa, chissà cosa, che non gli permette di uploadare i file presenti negli input creati da javascript.... mah...

    Lore

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.