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

    Problema caricamento immagini con move_uploaded_file()

    Salve a tutti.

    Sto provando a creare un sistema di caricamento immagini ma sto riscontrando alcuni problemi nel definire il percorso di caricamento.

    Questo è il mio codice:

    Codice PHP:
    //CARICAMENTO DELLE IMMAGINI
        
    if(isset($_FILES['files'])){
            
    $estensioni = array("jpg""png"); 
            
    $errors= array();
            foreach(
    $_FILES['files']['tmp_name'] as $key => $tmp_name ){
                
    $file_name $key.$_FILES['files']['name'][$key];
                
    $file_size =$_FILES['files']['size'][$key];
                
    $file_tmp =$_FILES['files']['tmp_name'][$key];
                
    $file_type=$_FILES['files']['type'][$key];    
                if(
    $file_size 5242880){
                    
    $errors[]='La grandezza del file deve essere minore di 5 MB <br>';
                }        
                if(!
    in_array(strtolower(end(explode('.'$file_name))),$estensioni)){
                      echo 
    'Tipo di file non consentito <br>';    
                }    
                
    //APPARTENENZA FILE
                
    if(empty($errors)==true){
                    switch (
    $key){
                        
    //CASE FOR DESKTOP
                        
    case 0:
                            
    $directory "desktop";
                            if(
    is_dir("img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"img_prova/$idProdotto/$directory/overview.jpg");
                            break;
                        case 
    1:
                            
    $directory "desktop";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/big.jpg");
                            break;
                        case 
    2:
                            
    $directory "desktop";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/small1.jpg");
                            break;
                        case 
    3:
                            
    $directory "desktop";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/small2.jpg");
                            break;
                        
    //CASE FOR MOBILE
                        
    case 4:
                            
    $directory "mobile";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/overview.jpg");
                            break;
                        case 
    5:
                            
    $directory "mobile";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/big.jpg");
                            break;
                        case 
    6:
                            
    $directory "mobile";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/small1.jpg");
                            break;
                        case 
    7:
                            
    $directory "mobile";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/small2.jpg");
                            break;
                        
    //CASE FOR SLIDESHOW
                        
    case 8:
                            
    $directory "slideshow";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/1.jpg");
                            break;
                        case 
    9:
                            
    $directory "slideshow";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/2.jpg");
                            break;
                        case 
    10:
                            
    $directory "slideshow";
                            if(
    is_dir("../../img_prova/$idProdotto/$directory") == false){
                                   
    mkdir("../../img_prova/$idProdotto/$directory"0700);
                                }
                            
    move_uploaded_file($file_tmp"../../img_prova/$idProdotto/$directory/3.jpg");
                            break;
                        }
                    }
                else{
                    
    print_r($errors);
                    }
            }
            if(empty(
    $errors)){
                echo 
    "Operazione effettuata con successo";
                }
        } 
    secondo me sto sbagliando a settare i path in cui caricare i file dato che se uso
    Codice PHP:
     $directory "desktop/" 
    e non imposto nessun altro percorso relativo o che preveda passaggi in due cartelle (es. directory = "desktop/ciccio/" non funziona già più ) il tutto funziona perfettamente.

    Idee?

    Grazie per la risposta!

    P.S. scusate per gli errori banali che posso aver postato ma sono un principiante

  2. #2
    Risolto...era un problema con la verifica del percorso.
    Non avevo calcolato che is_dir() non controlla tutto il percorso del file ma solo la cartella chiamiamola "target".
    Più semplicemente succedeva questo:
    codice:
    cartella1 -> cartella2 -> cartella3 is_dir()? FALSE quindi CREA CARTELLA3 ma mancando CARTELLA2 in mezzo non me la creava dato che mkdir() ha come target una cartella specifica e non un percorso!
    Ma io avrei dovuto controllare passo a passo:
    codice:
    cartella1 -> cartella2 is_dir()? FALSE quindi CREA CARTELLA2;
    cartella2 -> cartella3 is_dir()? FALSE quindi CREA CARTELLA3;
    Spero abbiate capito qualcosa da quello che ho scritto
    Ci si perde sempre nelle cose più sceme

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.