Salve a tutti,
il mio problema riguarda l'upload di file piuttosto grandi (30-40Mb).
Quando cerco di caricare e salvare nel database un file di quelle dimensioni (sia da locale sia da remoto) non mi si salva, ma non ricevo alcun messaggio d'errore.
Ciò che vedo a video è esattamente ci che vedo quando eseguo l'upload di file più piccoli (10Mb) solo che poi il database non viene modificato.
Ringrazio anticipatamente per ogni suggerimento/consiglio/aiuto!!!
Di seguito posto alcuni dettagli sul sistema:
Server/php/database: EasyPHP 1.8.0.1
(Scelta discutibile, lo so, ma è tanto comodo...)
php.ini
- safe_mode = Off
- max_execution_time = 45
- max_input_time = 120
- memory_limit = 64M
- error_reporting = E_ALL
- post_max_size = 64M
- file_uploads = On
- upload_tmp_dir = "f:\Siti\DJGulp3\download\"
- upload_max_filesize = 64M
anche eliminando le seguenti righe di configurazione non migliorano i risultati:
- max_execution_time = 45
- max_input_time = 120
- memory_limit = 64M
my.ini
- max_allowed_packet=67108864
Il codice che uso per fare l'upload è:
html
codice:
<form name="nuovo" method="POST" action="<?php echo "$_SERVER[PHP_SELF]" ?>" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="67108864">
File da caricare: <input type="file" name="docs">
Descrizione: <input type="text" name="descr">
<input type="submit" value="Carica">
</form>
php
Codice PHP:
if($_FILES['docs']['size'] > 0) {
$fileName = basename($_FILES['docs']['name']);
$tmpName = $_FILES['docs']['tmp_name'];
$fileSize = $_FILES['docs']['size'];
$fileType = $_FILES['docs']['type'];
$hdl = fopen($tmpName, 'r');
$content = fread($hdl, filesize($tmpName));
$content = addslashes($content);
fclose($hdl);
$fileName = strtr($fileName, $sql);
if ($_POST['descr']) {
$descr = strtr($_POST['descr'], $sql);
$query = "INSERT INTO download (nome, file, descr) VALUES ('$fileName', '$content', '$descr')";
} else
$query = "INSERT INTO download (nome, file) VALUES ('$fileName', '$content')";
if (mysql_query($query))
mysql_query("INSERT INTO auth (nome, pagina) VALUES ('$_SERVER[PHP_AUTH_USER]', '$fileName')");
}