Ciao a tutti, premetto che sono un novizio di PHP e di aver letto già molti post trovati sull'argomento su questo Forum, ma ancora non riesco a risolvere il mio problema.
Sto facendo lavorare il php usando IIS come Web Server.
Nel php.ini ho impostato: upload_max_filesize = 10M
Ho preparato una pagina per l'upload di file che funziona perfettamente con file fino a circa 2MB, ma quando provo ad uplodare un file di dimensioni maggiori, inizia il problema.
In questo caso la pagina, pur non producendo alcun errore, sembra quasi fare il submit per poi tornare alla visualizzazione classica con un redirect. Il problema è che non esiste alcun redirect nella pagina ed in modalità post è prevista una gestione dell'errore sui file maggiori di certe dimensioni.
Non capisco proprio dove sia il problema, errori non ne ho, il file non viene uplodato, e la pagina non si ferma come dovrebbe nella modalità POST.
Potete aiutarmi
Vi posto il mio codice:
VVoVe:
Codice PHP:
<?php
include ("../inc/funzioni.php");
include ("../inc/connex.inc");
check_log();
?>
<?
//VARIABILI DI SETTING
// Password
//$psw="password";
// Nome della directory in cui verranno salvati i files (con lo slash "/")
$d="../file/";
// Dimensione massima del file in bytes (15000= 15KB)
//$s=15000;
$s=5242880; //5242880=5 MB
// Messaggio Trasferimento del file...
$c="Salvataggio in Corso...";
// Messaggio di errore (Dimensione del file al di sopra del limite imposto)
$err="Dimensione del file al di sopra del limite imposto.
Il limite è di " . (($s/1024)/1024) . " MB";
// Messaggio di errore (Non trovato, o Casella-Sfoglia-file vuota)
$err1="FILE NON SELEZIONATO";
// Messaggio di OK
$ok="OK";
// Messaggio torna-indietro
$back="Inserisci altri Files";
// Numero di uploads simulanei min=1, max=14
$up=3;
?>
<HTML>
<HEAD>
<TITLE>Leone Bellantese</TITLE>
<link rel="stylesheet" type="text/css" href="style.css">
<script language="javascript">
<!--
function controlla()
{
if (form1.cat_download.value=="")
{
alert ("Seleziona una categoria di appartenenza per i tuoi File!!!")
}
else
{
form1.submit()
}
}
-->
</script>
</HEAD>
<BODY leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" bgcolor=#ffffcc>
<TABLE width=550 align=center BORDER=1 CELLSPACING=0 CELLPADDING=0 bgcolor=#ffffcc bordercolor=darkblue>
<tr>
<td align="center" class="txtRisposte">
<font class="txtDomanda">UPLOAD FILE</font>
<?
if ($d<>'')
{
if (!(file_exists($d)))
{ /*if the dir does not exist...create it*/
umask(011);
mkdir($d,"0777");
echo "La Cartella $d è stata creata.";
}
}
if ($_POST['a']<>'1')
{
//Faccio apparire le caselle per l'UPLOAD
echo "<FORM ID=\"form1\" NAME=\"form1\" METHOD=\"Post\" ENCTYPE=\"multipart/form-data\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">
\n
<input type=hidden name=a value=1>
\n";
//echo "controllare upload_max_filesize sul php.ini in c:/php
";
?>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td class="txtDomanda" align="center">
Seleziona La categoria per la quale vuoi inserire questi file:
</td>
</tr>
<tr>
<td align=center>
<?php
$sql="SELECT * FROM download_categorie";
//echo $sql;
$lista_cat=@mysql_query($sql,$conn);
if (!$lista_cat)
{
exit ("Errore rilevazione Categorie esistenti!
Contattare l'amministratore del sistema!");
}
if (mysql_num_rows($lista_cat)==0)
{
echo "<font class=testo_errore>Nessun Categoria DownLoad Esistente
Cliccare [url='gest_cat_download.php']qui[/url] per creare delle categorie!!!</font>";
}
else
{?>
<select name="cat_download" id="cat_download" class="textbox">
<option value="">Seleziona una categoria...</option>
<?php
while ($categoria = mysql_fetch_array($lista_cat))
{?>
<option value="<?php echo $categoria['id_cat_download']; ?>"><?php echo $categoria['nome_cat']; ?></option>
<?php
}?>
</select>
<?php
}
?>
</td>
</tr>
</table>
<?php
$k=1;
while ($k<=$up)
{
echo "File $k: <INPUT TYPE=\"file\" NAME=\"file$k\">
\n";
echo "Descrizione: <INPUT TYPE=\"text\" NAME=\"descrizione$k\" ID=\"descrizione$k\" size=\"50\">
\n";
$k++;
}
echo "<INPUT TYPE=\"button\" value=UPLOAD onClick=\"controlla()\">\n</FORM>";
echo "
<a href=\"menu.php\">Menù</a>
";
}
else
{
//echo "METODO POST";
$categoria_dei_file=$_POST["cat_download"];
$k=1;
while ($k<=$up)
{
echo "$c File $k
";
$nome_temp=$HTTP_POST_FILES["file$k"]['tmp_name'];
$size=$HTTP_POST_FILES["file$k"]['size'];
$nome_file=$HTTP_POST_FILES["file$k"]['name'];
$desc=$_POST["descrizione$k"];
//echo $nome_temp . "
";
//echo $size . "
";
//echo $nome_file . "
";
//echo $desc . "
";
//echo "
";
if (!is_uploaded_file($nome_temp))
{
//unlink($HTTP_POST_FILES["file$k"]['tmp_name']);
echo ": $err1";
}
elseif ($size > $s)
{
//unlink($HTTP_POST_FILES["file$k"]['tmp_name']);
echo ": $err";
}
else
{
echo " ($nome_file): ";
copy($nome_temp,"$d$nome_file"); // Copa del file
//unlink($HTTP_POST_FILES["file$k"]['tmp_name']);
//Appena copiato il file inserisco il record nel database nella tabella 'download file'
$sql="INSERT INTO download_file SET
descrizione='$desc',
nome_file='$nome_file',
size=$size,
id_cat=$categoria_dei_file";
//echo $sql . "
";
if (!mysql_query($sql,$conn))
{
exit ("Errore durante L'inserimento dei file nel Database
Contatta l'amministratore del sistema!");
}
echo $ok;
}
echo "
";
$k++;
}
echo "
<a href=\"" . $_SERVER['PHP_SELF'] . "\">$back</a>
";
echo "<a href=\"menu.php\">Menù</a>
";
}
?>
</td>
</tr>
</table>
</body>
</html>
Un Grazie anticipato a chiunque saprà aiutarmi