1
Hallo,
ich lese die Dateien im Verzeichnis mit einem Scipt aus.
Jetzt will ich oben ein Suchfeld haben mit dem dann die entsprechenden Dateien filtern kann.
Wenn man die php Datei aufruft sollen im ersten Moment alle
Dateien erscheinen.
ich lese die Dateien im Verzeichnis mit einem Scipt aus.
Jetzt will ich oben ein Suchfeld haben mit dem dann die entsprechenden Dateien filtern kann.
Wenn man die php Datei aufruft sollen im ersten Moment alle
Dateien erscheinen.
<?php
echo '<form style="margin-top: 14px;" method="post" action="'.$HTTP_SERVER_VARS['PHP_SELF'].'">
<h1>Suche</h1>Suchen nach:<br><input style="width:200px" type="text" name="suchbegriff" value="'.$such_string.'">';
echo '<input style="width:100px" type="submit" value="Suchen"></form><br>';
$such_string = strtolower(trim($suchbegriff));
function Dateigroesse($URL)
{
$Groesse = filesize($URL);
if($Groesse < 1000){
return " ".number_format($Groesse, 0, ",", ".")." Bytes";
}
elseif($Groesse < 1000000){
return " ".number_format($Groesse/1024, 0, ",", ".")." kB";
}
else{
return " ".number_format($Groesse/1048576, 2, ",", ".")." MB";
}
}
$dir = 'uploads/';
$files = array();
$fp = opendir($dir);
while (false !== ($file = readdir($fp)))
{
if ($file == '.' || $file == '..' || $file == 'thumb' || $file == 'Thumbs.db')
continue;
$files[] = array('fname' => $file, 'fdatum' => filemtime($dir.$file), 'fgroesse' => Dateigroesse($dir.$file), 'fsortgroesse' => filesize($dir.$file));
}
closedir($fp);
// vorwärts sortiert DAtum usort($files, 'DateCmp');
//sort($files, $file);
foreach ($files as $key => $row) {
if (isset($HTTP_POST_VARS['suchen']) and ereg($such_string, $row['fname']) and strlen($such_string >1)) {
$fname[$key] = $row['fname'];
$fdatum[$key] = $row['fdatum'];
$fgroesse[$key] = $row['fgroesse'];
$fsortgroesse[$key] = $row['fsortgroesse'];
}
}
// Die Daten mit fname absteigend, Auflage aufsteigend sortieren
// Geben Sie $files als letzten Parameter an, um nach dem gemeinsamen
// Schlüssel zu sortieren.
$fname_lowercase = array_map('strtolower', $fname);
array_multisort($fname_lowercase, SORT_ASC, $fdatum, SORT_ASC, $fgroesse, SORT_DESC, $files);
//array_multisort($fsortgroesse, SORT_DESC, $fname, SORT_ASC, $fdatum, SORT_ASC, $files);
echo '<table cellpadding="0" class="table">
<tr>
<td class="list_top">Name</td>
<td class="list_top">Größe</td>
<td class="list_top">Hochgeladen</td>
<td class="list_top"></td>
</tr>';
echo '<form style="margin-top: 14px;" method="post" action="'.$HTTP_SERVER_VARS['PHP_SELF'].'">';
foreach ($files as $entry) {
echo '<tr>
<td class="list_main">' . $entry['fname'] . '</td>
<td class="list_main">' . $entry['fgroesse'] . '</td>
<td class="list_main">' . date ('H:i:s - d.m.y', $entry ['fdatum']) . '</td>
<td class="list_main"><a href="' . $dir . $entry['fname'] . '" target="_blank"><img src="icon.gif" border="no"/></a></td>
</tr>';
}
echo '</table>';
?>