Hallo allerseits,
kurze Problembeschreibung:
für ein privates Projekt habe ich ein Uploadformular erstellt, welches in einem via Ftp angelegten Ordner liegt und Dateien hochladet, so weit funktioniert dies auch. Auch das Abrufen und Anzeigen des Inhalts dieses Ordners funktioniert problemlos. Es gibt mehrere User, jeder benutzt sein eigenes Uploadformular(quasi hat jeder User seinen eigenen Ordner auf dem Server). Nun trat man an mich heran und möchte von mir folgendes:
1.Es wird eine Funktion gewünscht das der User diese Dateien im Browser selbst wieder löschen kann, ohne FTP Programm.
2. Sollen alle Downloads aller Ordner in einem sagen wir mal Pool gelistet werden, also auf einer seperaten Seite, auf der alle User Zugriff haben.
Leider reicht mein Verständis der PHP/SQL Programmierung nicht aus und dennoch möchte ich meinen Freunden helfen. Mein Ansatz ist jedem Upload eine automatische ID zu geben, welche in meiner Datenbank auf dem Server abgespeichert werden soll. Aber wie setze ich das am besten um? Wäre Euch sehr dankbar für jede Hilfestellung, Gruß Danilo, der es auch noch lernt, irgendwann^^....
Es gibt 3 Dateien in dem Ordner
form.php (ist das Interface zum Upload und Download)
upload.php
files.php
Hier die Scripte dazu:
form.php:
_________________________
upload.php:
___________________________
files.php:
kurze Problembeschreibung:
für ein privates Projekt habe ich ein Uploadformular erstellt, welches in einem via Ftp angelegten Ordner liegt und Dateien hochladet, so weit funktioniert dies auch. Auch das Abrufen und Anzeigen des Inhalts dieses Ordners funktioniert problemlos. Es gibt mehrere User, jeder benutzt sein eigenes Uploadformular(quasi hat jeder User seinen eigenen Ordner auf dem Server). Nun trat man an mich heran und möchte von mir folgendes:
1.Es wird eine Funktion gewünscht das der User diese Dateien im Browser selbst wieder löschen kann, ohne FTP Programm.
2. Sollen alle Downloads aller Ordner in einem sagen wir mal Pool gelistet werden, also auf einer seperaten Seite, auf der alle User Zugriff haben.
Leider reicht mein Verständis der PHP/SQL Programmierung nicht aus und dennoch möchte ich meinen Freunden helfen. Mein Ansatz ist jedem Upload eine automatische ID zu geben, welche in meiner Datenbank auf dem Server abgespeichert werden soll. Aber wie setze ich das am besten um? Wäre Euch sehr dankbar für jede Hilfestellung, Gruß Danilo, der es auch noch lernt, irgendwann^^....
Es gibt 3 Dateien in dem Ordner
form.php (ist das Interface zum Upload und Download)
upload.php
files.php
Hier die Scripte dazu:
form.php:
PHP:
<html>
<table width="100%" border="0" height="100">
<tr>
<td valign="middle" align="center" height="480">
<table width="500" border="0" align="center" height="344">
<tr valign="top">
<td height="64">
<form action="upload.php" method="post" enctype="multipart/form-data" name="upload" style='font:8pt Arial, Helvetica, sans-serif,; letter-spacing:1pt; border:1 solid #ffffff; background:#000033; color: #ffffff; '>
<input type="file" name="file" style='font:8pt Arial, Helvetica, sans-serif,; letter-spacing:1pt; border:1 solid #ffffff; background:#000033; color: #ffffff; '>
<input type="submit" name="submit" value="Upload"style='font:8pt Arial, Helvetica, sans-serif,; letter-spacing:1pt; border:1 solid #ffffff; background:#000033; color: #ffffff; '>
<input type="reset" name="reset" value="reset"style='font:8pt Arial, Helvetica, sans-serif,; letter-spacing:1pt; border:1 solid #ffffff; background:#000033; color: #ffffff; '>
</form>
</td>
</tr>
</table>
<br>
<table width="500" border="0" align="center">
<tr>
<td class="weiss_10px">
<p>
<font size="1" color="#CCCCCC" face="Verdana, Arial, Helvetica, sans-serif">
<?php
$verzeichnis = "."; // Name des Verzeichnises
$action=opendir($verzeichnis);
while($datei=readdir($action)){
if(!preg_match("!(\.|\..)$!", $datei)){
?>
<span class="rot_10px"> </span>
<table width="500" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="151" height="16" class="weiss_10px"> <font face="Verdana, Arial, Helvetica, sans-serif" color="#CCCCCC" size="1">
<?=$datei ?>
</font></td>
<td width="148" height="16" class="weiss_10px"><a href="<?=$verzeichnis.'/'.$datei ?>"><font face="Verdana, Arial, Helvetica, sans-serif" color="#CCCCCC" size="1"> <img src="../img/download.jpg" border="0" width="15" height="18"></font></a></td>
<br>
</tr>
</table>
<?php
}
}
?>
<i></i>
</font> </td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
_________________________
upload.php:
PHP:
<body bgcolor="#000000" text="#FFFFFF">
<?php
// Variabeln festlegen
$max_byte_size = 300097152;
$allowed_types = "(jpg|jpeg|gif|bmp|png|psd|ai|fla|swf|tif|tiff|avi|mpg|mpeg|txt|doc|xls|arr|all|drm|mix|sng|flp|wav|mp3|mp4|mid|zip|rar|exe|cpr)";
// Formular wurde abgeschickt
if($_POST["submit"] == "Upload") {
// Wurde wirklich eine Datei hochgeladen?
if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen)
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) {
// Datei auch nicht zu groß
if($_FILES["file"]["size"] <= $max_byte_size) {
// Alles OK -> Datei kopieren
if(copy($_FILES["file"]["tmp_name"], $_FILES["file"]["name"])) {
echo "Datei erfolgreich hochgeladen!<br>";
echo "Name: " . $_FILES["file"]["name"] . "<br>";
echo "Größe: " . $_FILES["file"]["size"] . " Byte<br>";
echo "MIME-Type: " . $_FILES["file"]["type"] . "<br>";
echo "Link: <a href=\"" . $_FILES["file"]["name"] . "\">" . $_FILES["file"]["name"] . "</a>";
}
else {
echo "Datei konnte nicht hochgeladen werden.";
}
}
else {
echo "Die Datei darf nur eine Größe von " . $max_byte_size . " Byte besitzen.";
}
}
else {
echo "Die Datei besitzt keine ungültige Endung.";
}
}
else {
echo "Keine Datei zum Hochladen angegeben.";
}
}
else {
echo "die Datei upload.php und form.php <br>stehen nicht zum Download zur Verfügung!";
}
?>
___________________________
files.php:
PHP:
<html>
<body bgcolor="#FFFFFF" text="#000000">
<?php
$verzeichnis = "files/"; // Name des Verzeichnises
$action=opendir($verzeichnis);
while($datei=readdir($action)){
if(!preg_match("!(\.|\..)$!", $datei)){
?>
<table width="389" border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="155" height="23" valign="top"><?=$datei ?></td>
<td width="82" valign="top">counter</td>
<td width="152" valign="top"><a href="<?=$verzeichnis.'/'.$datei ?>"><img src="button.jpg" border="0"></a></td><br>
</tr>
</table>
<?php
}
}
?>
</body>
</html>