File upload script overskriver filer
Hej alle sammen.Jeg har kigget på noget infuison til php-fusion og lavet et script der kan uploade filer. Jeg har bare et problem, den overskriver filen hvis den eksister i stedet for at sige at den eksister. Nogen af jer der ved hvad jeg har gjordt galt? :)
<?php
/*--------------------------------------------+
| PHP-Fusion 5 - Content Management System |
|---------------------------------------------|
| author: Nick Jones (Digitanium) © 2002-2005 |
| web: http://www.php-fusion.co.uk |
| email: nick@php-fusion.co.uk |
|---------------------------------------------|
| Released under the terms and conditions of |
| the GNU General Public License (Version 2) |
+--------------------------------------------*/
require_once "../../maincore.php";
require_once BASEDIR."subheader.php";
require_once ADMIN."navigation.php";
if (file_exists(INFUSIONS."demo_uploads/locale/".$settings['locale'].".php")) {
include INFUSIONS."demo_uploads/locale/".$settings['locale'].".php";
} else {
include INFUSIONS."demo_uploads/locale/English.php";
}
// Settings
$upload_maxsize = 20969952;
$upload_extensions = array(
".dem",
".zip",
".rar",
".tar",
);
$upload_folder = BASEDIR."demo/";
if (isset($del)) {
unlink($upload_folder."$del");
opentable($locale['dup110']);
echo "<center><br>
".$locale['dup111']."<br><br>
<a href='".FUSION_SELF."'>".$locale['dup112']."</a><br><br>
<a href='".ADMIN."index.php'>".$locale['dup113']."</a><br><br>
</center>\n";
closetable();
} else if (isset($_POST['upload_file'])) {
$upload = $_FILES['upload'];
if ($upload['name'] != "" && !empty($upload['name']) && is_uploaded_file($upload['tmp_name']) && $upload['size'] <= $upload_maxsize) {
$upload_ext = strrchr($upload['name'],".");
if (in_array($upload_ext, $upload_extensions)) {
$upload_name = $upload['name'];
move_uploaded_file($upload['tmp_name'], $upload_folder.$upload_name);
chmod($upload_folder.$upload_name,0644);
} else {
$upload_error = $locale['dup124'];
}
} else {
$upload_error = $locale['dup125'];
}
opentable($locale['dup130']);
echo "<center><br>
".(!isset($upload_error) ? $locale['dup123'] : $upload_error)."<br><br>
<a href='".FUSION_SELF."'>".$locale['dup112']."</a><br><br>
<a href='".ADMIN."index.php'>".$locale['dup113']."</a><br><br>
</center>\n";
closetable();
} else {
opentable($locale['dup120']);
echo "<form name='uploadform' method='post' action='".FUSION_SELF."' enctype='multipart/form-data'>
<table align='center' width='350' cellspacing='0' cellpadding='0'>
<tr>
<td width='80' class='tbl'>".$locale['dup121']."</td>
<td class='tbl'><input type='file' name='upload' class='textbox' style='width:250px;'></td>
</tr>
<tr>
<td align='center' colspan='2' class='tbl'>
<input type='submit' name='upload_file' value='".$locale['dup120']."' class='button' style='width:100px;'><br><br>
".$locale['dup122'].parseByteSize($upload_maxsize)."</td>
</tr>
</table>
</form>\n";
closetable();
tablebreak();
opentable($locale['dup130']);
echo "<table width='500' align='center' cellpadding='0' cellspacing='1' class='tbl-border'>
<tr>
<td class='tbl2'>".$locale['dup131']."</td>
<td class='tbl2'>".$locale['dup132']."</td>
<td align='right' class='tbl2'>".$locale['dup133']."</td>
</tr>\n";
$file_list = makefilelist($upload_folder, ".|..|index.php", true);
if (!isset($file_list)) { $file_count = 0; } else { $file_count = count($file_list); }
for ($i=0;$i < $file_count;$i++) {
$file_size = filesize($upload_folder.$file_list[$i]);
if ($i % 2 == 0) { $row_color = "tbl1"; } else { $row_color = "tbl2"; }
echo "<tr>
<td class='$row_color'>$file_list[$i]</td>
<td class='$row_color'>".($file_size > 0 ? parseByteSize($file_size) : "-----")."</td>
</tr>\n";
}
echo "</table>\n";
closetable();
}
echo "</td>\n";
require_once BASEDIR."footer.php";
?>
