Nieuw lid |
|
Hallo,
ik ben op dit moment bezig met een uploadscript dat een bestand upload naar een dir op de site en de link naar dat bestand in de database plaatst.
Nu heb ik er een datalimiet op gezet van 5 mb, waarbij er een foutmelding wordt gegeven als het bestand groter is.
Het werkt allemaal, maar als ik een bestand van groter dan 5 mb probeer te uploaden, geeft hij geen foutmelding. Hij plaats alleen de link in de database die een 404 geeft omdat het uploaden van het bestand niet gelukt is.
Dit is de code (de overige errors er even uitgelaten):
if(isset($_POST['upload']))
{
if ($_FILES['userfile']['size'] > 5250000)
{
$errorsize = "<font color=\"red\">- Het bestand is groter dan <b>5 mb</b>. Verklein het bestand en probeer het opnieuw.</font><br>";
}
if((($_POST['day']) != "")and(($_POST['month']) != "")and(($_POST['year']) != "")and(($_FILES['userfile']['name']) != "")and($extfout != "nee")and($_FILES['userfile']['size'] < 5250000))
{
$fileName = replace($_FILES['userfile']['name']);
$fileDay = addslashes($_POST['day']);
$fileMonth = addslashes($_POST['month']);
$fileYear = addslashes($_POST['year']);
$fileBericht = addslashes($_POST['bericht']);
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fileDate = $fileYear."".$fileMonth."".$fileDay;
$fileLink = "www.virtutedei.nl/leden/voorstudie/uploads/".$fileDate."/".$fileName;
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$query = "INSERT INTO voorstudie ( date, day, month, year, updatum, link, filename, type, size, bericht ) ".
"VALUES ('$fileDate', '$fileDay', '$fileMonth', '$fileYear', UNIX_TIMESTAMP(), '$fileLink', '$fileName', '$fileType', '$fileSize', '$fileBericht' )";
mysql_query($query) or die('Error, query failed');
mkdir("uploads/".$fileDate."", 0777);
if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
move_uploaded_file($_FILES['userfile']['tmp_name'], "uploads/".$fileDate."/".$fileName);
}
echo "<link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\" />
<div id=\"container\">
<b>Het voorstudiemateriaal ($fileName) van de vergadering op $fileDay-$fileMonth-$fileYear is succesvol geupload.</b><br> </div>";
}
else
{
echo "<link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\" />
<div id=\"container\">
$errorday
$errormonth
$erroryear
$errorname
$errorsize
$errorext
</div>";
}
}
if(isset($_POST['upload'])) { if ($_FILES['userfile']['size'] > 5250000) { $errorsize = "<font color=\"red\">- Het bestand is groter dan <b>5 mb</b>. Verklein het bestand en probeer het opnieuw.</font><br>"; } if((($_POST['day']) != "")and(($_POST['month']) != "")and(($_POST['year']) != "")and(($_FILES['userfile']['name']) != "")and($extfout != "nee")and($_FILES['userfile']['size'] < 5250000)) { $fileName = replace($_FILES['userfile']['name']); $tmpName = $_FILES['userfile']['tmp_name']; $fileSize = $_FILES['userfile']['size']; $fileType = $_FILES['userfile']['type']; $fileDate = $fileYear."".$fileMonth."".$fileDay; $fileLink = "www.virtutedei.nl/leden/voorstudie/uploads/".$fileDate."/".$fileName; $fp = fopen($tmpName, 'r'); { } $query = "INSERT INTO voorstudie ( date, day, month, year, updatum, link, filename, type, size, bericht ) ". "VALUES ('$fileDate', '$fileDay', '$fileMonth', '$fileYear', UNIX_TIMESTAMP(), '$fileLink', '$fileName', '$fileType', '$fileSize', '$fileBericht' )"; mkdir("uploads/".$fileDate."", 0777); { } echo "<link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\" /> <div id=\"container\"> <b>Het voorstudiemateriaal ($fileName) van de vergadering op $fileDay-$fileMonth-$fileYear is succesvol geupload.</b><br> </div>"; } else { echo "<link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\" /> <div id=\"container\"> $errorday $errormonth $erroryear $errorname $errorsize $errorext </div>"; } }
Waar kan het aan liggen? De limiet lager zetten doe ik liever niet, omdat de bestanden vaak een aantal mb's groot zijn.
|