Grazie per la risposta.
Il file intero è piuttosto lungo, allego solo le parti relative al upload:
In questa parte prendo i dati che arrivano da un form html con enctype="multipart/form-data" controllo il MIME e la grandezza:
[php]
// FILES
$max_file_size = 2097152; // byte = 2Mb
$chevale = $max_file_size / 1048576;
$chevale = number_format($chevale, 2);
$caricabilif = array("application/msword","application/doc","application/rtf","application/pdf", "application/ps", "application/eps", "application/postscript", "application/vnd.ms-excel", "application/vnd.ms-powerpoint", "application/zip", "application/x-rar-compressed", "application/x-rar", "application/rar");
$filesi = 0;
//faccio lo stesso con il file 1
if ($_FILES['msfile1'] > 0) {
$file1_n=$_FILES['msfile1']['name'];
$file1_t=$_FILES['msfile1']['type'];
$file1_s=$_FILES['msfile1'];
$file1_tmp=$_FILES['msfile1']['tmp_name'];
$file1_e=$_FILES['msfile1']['error'];
//echo"<br />nome: ".$file1_n." errore: ".$file1_e." size= ".$file1_s."<br />";
if ($nomef1 == '') {
$nomef1 = $file1_n;
}
// Controllo che il file sia in uno dei formati caricabili
if (!in_array($file1_t,$caricabilif)){
echo"<u>WARNING</u> file 1 should be one of the following type: .doc, .rtf, .xls, .pdf, .ps, .eps, .ai, .pps, .ppt, .zip, .rar.<br /> » <a href=\"javascript:history.back()\"> Go back</a><br /><br /><br />";
echo "</div>
</div>
</div>";
include("sotto.html");
exit();
}
//echo"<br />passa il controllo mime<br />";
// controllo che il file non sia più grande di max file size
if ($file1_s > $max_file_size){
echo "<u>WARNING</u> file 1 cannot be larger than ".$chevale." Mb.<br /> » <a href=\"javascript:history.back()\"> Go back</a><br /><br /><br />";
echo "</div>
</div>
</div>";
include("sotto.html");
exit();
}
//echo"<br />passa il controllo megabyte<br />";
$grande = $file1_s / 1048576;
//echo "<br /><br /><br />file 1 is set e grande: ".$grande."<br /><br /><br />";
$checkf1 = 0;
$numero = 1;
$f1 = 1;
$filesi = 1;
$fp= fopen($file1_tmp, 'r');
$contentf1= fread($fp, filesize($file1_tmp));
$contentf1= addslashes($contentf1);
fclose($fp);
}
[/php]e qui inserisce i dati nel DB:
[php]
if ($f1 == 1) {
//echo"<br />ora dovrà inserire i dati di file 1 in tabella<br />";
$queryallegatif1 = "INSERT INTO $tab_allegati (collega, user, numero, nome, type, size, contenuto) VALUES ('$collegato', '$utente', '1', '$nomef1', '$file1_t', '$file1_s', '$contentf1')";
if (mysql_query($queryallegatif1, $db) ) {
$checkf1 = 1;
echo "File 1 <b>".$nomef1."</b> has been successfully uploaded.<br /><br /> ";
}
else {
$checkf1 = 0;
echo "<u>WARNING</u>, file 1 <b>".$nomef1."</b> has not been uploaded.<br /><br /> ";
}
}
[/php]Non mi da nessun tipo di errore, semplicemente la query per file superiori a circa 1Mb in remoto non va a buon fine.
Potrebbe essere un problema con il max_allowed_packet di mysql?
Se hai bisogno di altro fammi sapere.
Grazie ciao