PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : php: Dateiupload


MadMan2k
2004-04-17, 21:12:57
den Dateiupload an sich habe ich zawr soweit hinbekommen, aber wie kann ich mir alle Dateien aus einem verzeichniss anzeigen lassen, bzw. einge davon löschen?

Nase
2004-04-17, 21:59:04
Guck mal im PHP Handbuch nach opendir, readdir und unlink. Habe hier bestimmt irgendwo ein Skript, finds aber momentan nicht.

MadMan2k
2004-04-17, 22:12:13
thx

Matthias2x
2004-04-21, 10:42:53
hier mal ne kleine selbstgebastelte Funktion die dir alle Dateien in einem spezifizierten Verzeichnis ausgibt. Evtl. vorhandene Unterverzeichnisse werden allerdings ignoriert:


// Funktion Dateien eines Verzeichnisses ausgeben
function dateiliste($dir)
{
if($dir) {
$dirhandle = opendir($dir);
while($file = readdir($dirhandle))
{
if($file != '.' && $file != '..' && !is_dir($file))
{
$filelist[] = $file;
}
}
closedir($dirhandle);
if($filelist)
{
rsort($filelist);
}
return $filelist;
}
else {
return false;
}
}

vielleicht hilft es dir ja ein wenig weiter...


EDIT:
anbei ein simples Script mit dem du Files in einem bestimmten Verzeichnis löschen kannst:

<?php
// Funktion Dateien eines Verzeichnisses ausgeben
function dateiliste($dir)
{
if($dir) {
$dirhandle = opendir($dir);
while($file = readdir($dirhandle))
{
if($file != '.' && $file != '..' && !is_dir($file))
{
$filelist[] = $file;
}
}
closedir($dirhandle);
if($filelist)
{
sort($filelist);
}
return $filelist;
}
else {
return false;
}
}

// Pfad angeben + Funktion aufrufen
$dir = 'Pfad/zu/deinem/Verzeichnis/';
$filelist = dateiliste($dir);

// Files löschen
if($_GET['del'] == true){
if($filelist){
for($i=0;$i<count($filelist);$i++){
if($i == $_GET['file']){
if(@unlink($dir.$filelist[$i])){
$meldung = 'File '.$filelist[$i].' gelöscht...<br /><br />';
} else {
$meldung = 'FEHLER beim löschen von '.$filelist[$i].' !!<br /><br />';
}
header("Location: $PHP_SELF?m=$meldung");
exit;
}
}
}
}

// Meldung ausgeben
if($_GET['m']){
echo $m;
}

// Dateiliste ausgeben
if($filelist){
echo '<u> Dateien in '.$dir.'</u>:<br /><br />';
for($i=0;$i<count($filelist);$i++){
echo '<a href="'.$PHP_SELF.'?del=true&file='.$i.'">'.$filelist[$i].'</a><br />';
}
} else {
echo 'Das Verzeichnis '.$dir.' ist leer ...';
}
?>