Leggendo un po dei post sull'upload di file con php, ho provato anch'io a fare la stessa cosa (grazie a "theCoreWS" visto che il file originale è il suo), solo che non riesco a caricare file troppo grossi (circa da 3 MB in su). Premetto che spazio libero ce ne ho e che ho messo la limitazione a 20 MB. Ecco lo script, se riuscite ad aiutarmi ve ne sarei grato :
<?PHP
$sizelimit = "no"; //Do you want a size limit, yes or no?
$sizebytes = "200000"; //size limit in bytes
$dl = "http://marcar82.altervista.org/uploads"; //url where files are uploaded
$absolute_path = "uploads"; //Absolute path to where files are uploaded
$websiteurl = "http://marcar82.altervista.org"; //Url to you website
$websitename = "Marco website";
$BlackList = array //Estensioni proibite (in maiuscolo)
(
0 => "PHP",
1 => "PHP3",
2 => "PHP4",
3 => "JS",
4 => "HTML",
5 => "HTM",
6 => "EXE",
7 => "BIN",
8 => "SH"
);
$MaxSize = 20480; //IN KB
echo ("<br><br><b>Carica i file (max 20 MB) sul mio server, oppure più sotto trovi quelli già caricati</b><br><br><br>");
if( !isset ( $_POST[ "upload" ] ) )
{
echo "<form action=\"upload.php\" method=\"POST\" enctype=\"multipart/form-data\">
Scegli il File:
<input type=\"file\" name=\"thefile\" size=\"40\"> e poi premi su
<input type=\"submit\" value=\"Carica\" name=\"upload\">
</form>";
}
else
{
$_MY_UPLOAD = array
(
"content" => $_FILES[ "thefile" ][ "tmp_name" ],
"name" => $_FILES[ "thefile" ][ "name" ],
"size" => $_FILES[ "thefile" ][ "size" ],
"extension" => getExtension($_FILES[ "thefile" ][ "name" ])
);
if( $_MY_UPLOAD[ "size" ] <= ( $MaxSize * 1024 ) )
{
if( ! in_array( $_MY_UPLOAD[ "extension" ], $BlackList ) )
{
if ( copy( $_MY_UPLOAD[ "content" ], "uploads/" . $_MY_UPLOAD[ "name" ] ) )
echo "Upload riuscito!
<br><br><a href=\"http://marcar82.altervista.org/upload.php\">Carica un altro file</a><br><br>";
else
die("Impossibile copiare il file!");
}
else
die("Tipo di file ({$_MY_UPLOAD[ 'extension' ]}) non consentito!");
}
else
die("File troppo grande!");
}
function getExtension($fName)
{
$ext = explode( ".", $fName );
return strtoupper( $ext[ count( $ext ) - 1 ] );
}
echo "
<html>
<head>
</head>
<body><a><br></a>";
$list = "<table width=700 border=1 bordercolor=#000000 style=\"border-collapse: collapse\">";
$list .= "<tr><td width=700><br><center><b>Scarica uno dei file già caricati sul mio server</b></center><br></td></tr>";
$dir = opendir($absolute_path);
while($file = readdir($dir)) {
if (($file != "..") and ($file != ".")) {
$list .= "<tr><td width=700><center><a href=$dl/$file>$file</a></center></td></tr>";
}
}
$list .= "</table>";
echo $list;
echo"
<br><br>
</body>
</html>";
//break;
?>