Fraggie
Legacy Member
PHP:
<?php
require('authorise.php');
if (!checkLogin()) exit();
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload a file</title>
<link href="style.css" rel="stylesheet" type="text/css" /></head><body bgcolor="#BBE17E" style="margin:15px">';
if (!empty($_FILES["userfile"])) {
$filename = basename($_FILES['userfile']['name']);
$uploaddir = "/mapke/".$_SESSION['login']."/";
$uploadfile = $uploaddir.$filename;
if (!eregi("^[_a-z0-9-]+\.[a-z]{3}$", $filename)) { exit("<h2>Filename incorrect!</h2>"); } //#a-zA-Z0-9_-.a-zA-Z; incorrect: sad roo.gif#
//#Check for bad extensions#
$extension = false;
$allowedExtensions = array('rar','zip','ace','tar','jpg','jpeg');
$fileExtension = substr(strtolower($filename),-3);
foreach($allowedExtensions as $value) {
if($value == $fileExtension) {
$extension = true;
break;
}
}
if (!$extension) { exit ("<h2>Incorrect extension!</h2>"); }
//#Checking if the file exists#
if(file_exists($uploaddir.date("Y-m-d")."_".$filename)) { exit("<h2>Filename already exists</h>"); }
if (!$checkdir = opendir($uploaddir)) { mkdir($uploaddir, 0755); } //#If dir doesn't exists, make one with CHMOD 755#
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "<div style=\"color:#000000\">The file ".$filename." has been uploaded<br /></div>";
} else exit("<h2>There was an error uploading the file, please try again!</h2>");
if (rename($uploadfile, $uploaddir.date("Y-m-d")."_".$filename)) {
$filename = date("Y-m-d")."_".$filename;
echo "<span onclick=\"window.opener.document.forms[0].txtURL.options[0]=new Option('$filename','http://mapke/".$_SESSION['login']."/".$filename."'); window.opener.document.forms[0].txtURL.options[0].selected = 'selected'; window.close();\">Changed filename to: <b>$filename</b><br />";
}
else { echo "Could not change filename!<br />"; }
echo("<b>File Upload complete</b><br />The URL is - http://mapke/".$_SESSION['login']."/".$filename."</span>");
} else {
?>
<div align="center"><form action="uploadafile.php" method="post" enctype="multipart/form-data">
<input type="file" name="userfile" type="file" style="width:500px" size="60"><br /> <!-- FF doesn't support width.. size=60 -->
<input type="submit" value="Upload File" class="button">
</form></div>
<? } ?>
</body></html>
Dit is een upload script waar een paar regels aan verbonden zijn zoals: beperkte extensie, controle of de file al bestaat etc
Wanneer ik de volgende files upload lukt alles zonder probleem:
fotos.jpg (51kB)
fotosrar.rar (50kB)
muski.rar (680kB)
Als ik echter de inhoud van mushi 3x kopieer (muski2.rar) dan een filesize krijg van: 2.04MB krijg ik deze error:
There was an error uploading the file, please try again!
maw de volgende if is niet voldaan:
PHP:
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
Het script heb ik zelf geschreven in stukjes, er kunnen dus overbodige/foute dingen bij zitten.




