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

    Upload di grandi file con singolo script

    ciao a tutti...
    Ho un grossissimo problema: ho realizzato uno script in grado di far uplodare file (in determinare directory, stabilite dinamicamente) sia a me, come amministratore, che all'utente...
    Lo script funziona perfettamente!!!! Però solo per file di piccole dimensioni...
    Io, ho l'esigenza di trattare file anche di 20MB! E continua a dirmi che rileva problemi nell'upload...
    Ecco il codice del form:
    codice:
    <?php 
      include "config.php";
      include "funzioni.php";
      
      if ((!isset($_SESSION['user']))&&($_SESSION['user'][1]!=$nome_admin)) {
    	header('Location: index.php');
      }
      
      $utenti=utenti();
    ?>
    <html>
    	<head>
    		<?php echo "<link rel='stylesheet' type='text/css' href='".$lang['stile_pagine']."'>"; ?>
    		<title><?php echo $nome_sito; ?> - <?php echo $lang['upload_file']; ?></title>
    	</head>
    	<body>
    		<div align="center">
    			<?php echo $top_ad; ?>
    			<table>
          		<tr>
            			<td class='menu'><?php menu_up(); ?></td>
          		</tr>
          		<tr>
            			<td class='contenuto'>
            			 
            			 <center>
    					 Upload di un file:
    					 
    
    
    					 <form action="upload_.php" method="post" enctype="multipart/form-data">
    						<input type="file" name="upfile">
    											
    
    						<?php 
    							if ($_SESSION['user'][1]==$nome_admin) {
    								echo "<input type=\"radio\" name=\"directory\" value=\"comune\">Directory Comune
    								
    <input type=\"radio\" name=\"directory\" value=\"utente\">Directory Utente
    								
    
    
    															
    Destinatario UPLOAD: <select name=\"nome\">";
    								for ($i=0; $i<count($utenti); $i++) {
    									echo "<option value='".$utenti[$i][2]."' selected='selected'>".$utenti[$i][2]."</option>
    ";
    									//echo "<option value='".$utenti[count($utenti)-1][2]."' selected='selected'>".$utenti[count($utenti)-1][2]."</option>
    ";
    								}													
    								echo "</select>";
    							}
    						?>
    						
    
    
    						<input type="submit" value="Invia il file">
    					 </form> 
    
            			 </center>
    					 
    
    
            			 </td>
            		</tr>
            		<tr>
                	<td class='menu'><?php menu_down(); ?></td>
          		</tr>
        		</table>
    			<?php echo $bottom_ad; ?>
    		</div>
    	</body>
    </html>
    ed ecco il corpo dello script di riferimento "upload_.php"
    codice:
    <?php 
    include "config.php"; 
    include "funzioni.php";
    
    /***************************** CONTROLLI ****************************/
    // 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;
    
    // 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 !");
    }
    
    /****************************** SPOSTAMENTO VERO E PROPRIO *****************************/
    if (isset($_POST['directory'])) {	//L'ADMIN STA ESEGUENDO L'OPERAZIONE
    	$dir=$_POST['directory'];
    	if ($dir=="comune") {	
    	/****************************** caricamento nell'area COMUNE ******************************/
    		if (@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
    			@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir_COMUNE/$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"]);
    		}
    	} else {	//caso in cui si scelga di caricare il file in una directory dell'utente
    	/****************************** caricamento nell'area dell'UTENTE INDICATO ******************************/
    		$nome=$_POST['nome'];
    		if (@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
    			@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir_UTENTE/$nome/$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"]);
    		}
    	}
    } else {	//L'UTENTE STA ESEGUENDO L'OPERAZIONE
    	$nome=$_SESSION['user'][2];
    	if (@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
    		@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir_UTENTE/$nome/$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"]);
    	}
    }	
    
    msg("L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente...");
    
    ?>
    Come posso modificare il mio codice per far caricare file di dimensioni maggiori??
    Datemi qualche consiglio...

    Grazie 1000 a tutti!!!1

  2. #2
    Il problema potrebbe dipendere da due fattori, ovvero due configurazioni nel file php.ini:
    upload_max_filesize http://it.php.net/manual/en/ini.core...d-max-filesize
    e
    max_execution_time http://it.php.net/manual/en/info.con...execution-time

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.