Ein schnurznormales Upload-Skript kann ich dir anbieten, das habe ich kürzlich für einen Freund geschrieben. Funktioniert mit entsprechenden Ordner-Rechten, hat jedoch keine Validierung oder Sicherheitsüberprüfung. Vielleicht hilfts dir ja aber als Inspiration oder copy&paste Quelle:
PHP-Code:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
set_time_limit(0);
$aMessages = array();
$sUploadDir = 'upload/'; // upload-Verzeichnis relativ zu dieser Datei, Slash am Ende nicht vergessen, CHMOD Rechte setzen! (zB 0755)
if (array_key_exists('upload', $_FILES) && is_array($_FILES['upload'])) {
$sFile = dirname(__FILE__) . '/' .$sUploadDir . $_FILES['upload']['name'];
$sPathinfo = pathinfo($_FILES['upload']['name']);
$sExtension = $sPathinfo['extension'];
$aDenyExtensions = array('php', 'htaccess', 'htpasswd', 'do', 'cgi'); // nicht erlaubte Dateiendungen
if (in_array($sExtension, $aDenyExtensions)) {
$aMessages[] = 'Die Datei hat eine nicht erlaubte Dateiendung.';
} else if (!move_uploaded_file($_FILES['upload']['tmp_name'], $sFile)) {
$aMessages[] = sprintf('Die Datei konnte <u>nicht</u> hochgeladen werden - Fehlercode [url="http://de.php.net/manual/de/features.file-upload.errors.php"]%u[/url].', $_FILES['upload']['error']);
} else {
$aMessages[] = 'Die Datei wurde hochgeladen.';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
</head>
<body>
<?php
if (count($aMessages) > 0) {
?>
<ul>
<?php
foreach ($aMessages as $sMessage) {
?>[*]<?php echo $sMessage; ?>
<?php
}
?>[/list]
<hr />
<?php
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<input name="upload" type="file" />
<input type="submit" />
</form>
<hr />
<?php
// upload-Ordner auslesen
$aFilelist = array();
$rPath = opendir($sUploadDir);
while (($sFilename = readdir($rPath)) !== false) {
if ($sFilename != '.' && $sFilename != '..') {
$sFullFilename = $sUploadDir . $sFilename;
$aFilelist[] = array('name' => $sFilename, 'size' => filesize($sFullFilename), 'lastmodified' => filemtime($sFullFilename));
}
}
closedir($rPath);
if (count($aFilelist) == 0) {
?>
Es wurden noch keine Dateien hochgeladen.
<?php
} else {
function filesort($aOne, $aTwo) {
$sCompare = 'lastmodified'; // falls nach Name oder Dateigröße sortiert werden soll, einfach 'name' oder 'size' eintragen
return $aOne[$sCompare] == $aTwo[$sCompare] ? 0 : ($aOne[$sCompare] < $aTwo[$sCompare] ? 1 : -1);
// wenn Sortierung absteigend sortiert werden soll, 1 mit -1 vertauschen
}
// Dateien sortieren
usort($aFilelist, 'filesort');
reset($aFilelist);
?>
<table summary="">
<?php
foreach ($aFilelist as $sFile) {
?>
<tr>
<td>[url="<?php echo $sUploadDir . $sFile['name'] ?>"]<?php echo $sFile['name']; ?>[/url]</td>
<td><?php echo round($sFile['size'] / 1024, 2); ?> KB</td>
<td><?php echo date('d.m.Y - H:i', $sFile['lastmodified']); ?> Uhr</td>
</tr>
<?php
}
?>
</table>
<?php
}
?>
</body>
</html>