SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 09.03.2004, 12:05:27
Hanna Hanna ist offline
Anfänger
 
Registriert seit: Nov 2002
Beiträge: 80
Sortierung, Datei in einem Verzeichnis

Guten Morgen Gentleman,

ich versuche schon eine ganze Weile eine Lösung zu finden,
leider war das bisher nicht von Erfolg gekrönt.

Vielleicht hat ja jemand von Euch eine Idee.
(Bin ich eigentlich von überzeugt)

Also, ich möchte aus einem Verzeichnis Dateien auflisten und zwar
mit folgenden Daten:

- Dateiname
- Größe (am liebsten in MB)
- Datum

wobei die neueste Datei ganz oben erscheinen soll.

Noch lieber wäre es mir noch wenn NUR die neueste Datei angezeigt wird, ganz gleich wie viele Dateien sich in diesem Ordner befinden.
Das währe wirklich super ...


Eine Teillösung ist ja folgender Code ...
allerdings sehr unbefriedigend.


<?
$verz=opendir ('./Meldung') ;
while ($file = readdir ($verz)) {

if($file != "." && $file != "..") {
echo "<br><a href=$file>$file</a> | ";

$zeit = filemtime($file);
echo date("d.m.y", $zeit);

$size = filesize($file);
echo " | $size kb ";
}
}
closedir($verz);
?>

Schöne Grüße Hanna
Mit Zitat antworten
  #2  
Alt 09.03.2004, 12:28:59
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
Hallo Hanna,

Du kannst die Variablen $file, $zeit und $size in Arrays einlesen und mit array_multisort() sortiert bzw. gefiltert ausgeben.

Cu Marilu
Mit Zitat antworten
  #3  
Alt 09.03.2004, 12:41:21
Hanna Hanna ist offline
Anfänger
 
Registriert seit: Nov 2002
Beiträge: 80
Ja .. das habe ich auch schon in diversen Themen hier im Forum gelesen.

Ich habe z.B.: mal "Ordner und einlesen" in Suchen eingegeben,
da kommt ja schon eine ganze Menge zu dem Problem.
Aber ich bekomme das nicht in das Script eingebaut...


Habe zum Beispiel das hier gefunden

$sort_array["files"] = $files;
$sort_array["size"] = $size_file;
$sort_array["unit"] = $unit_file;
array_multisort($sort_array,SORT_STRING, SORT_ASC);
$files = $sort_array["files"];
$size_file = $sort_array["size"];
$unit_file = $sort_array["unit"];


aber wie bekomme ich das so in den Code das es auch funktioniert?
Kann man dann auch angeben LIMIT 1 ?


Hanna
Mit Zitat antworten
  #4  
Alt 09.03.2004, 14:26:22
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
Ich habe mal so was ähnliches gemacht:

$farray = array();
$farray1 = array();
while ($file = readdir ($handle)) {
if(!(($file == ".") OR ($file == ".."))) {
$ftype = filetype($file);
array_push($farray, htmlentities($file)); // File Name
array_push($farray1, $ftype); // File Type
}
}

array_multisort($farray1, $farray); // Sortiert nach FT, FN

$farray[0] wäre jetzt die 1. alphabetisch sortiert.

Analog mußt Du $zeit einbauen.

Geändert von Marilu (09.03.2004 um 14:30:51 Uhr)
Mit Zitat antworten
  #5  
Alt 09.03.2004, 16:49:51
Hanna Hanna ist offline
Anfänger
 
Registriert seit: Nov 2002
Beiträge: 80
... das bekomme ich nicht eingebaut.
Mir fehlt da einfach das Verständins für.

Ich habe jetzt 100 verschiedene Versionen ausprobiert, bekomme aber immer Fehlermeldungen.

Trotzdem Danke für Deine Hilfe!
Für heute resigniere ich ....

Schöne Grüße Hanna
Mit Zitat antworten
  #6  
Alt 09.03.2004, 19:00:16
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
> Ich habe jetzt 100 verschiedene Versionen ausprobiert, bekomme aber immer Fehlermeldungen. Für heute resigniere ich ....

OK, ich versuchs mal (quick and dirty):

PHP-Code:
<?php 
$verz 
"../"// gewünschtes Verzeichnis, hier: 1 höher
echo "
<html>
<head>
<title>Directory anzeigen</title>
</head>
<body>"
;
chdir($verz); 
$path getcwd();
$handle opendir ($path); 
$farray = array();
$farray1 = array();
$farray2 = array();
while (
$file readdir ($handle)) {
    
$ftype filetype($file);
    
$fsize filesize($file);
    
$ftime filemtime($file);
    if(!((
$file == ".") OR ($file == "..") OR ($ftype == "dir"))) { // Unterverzeichnisse ausblenden
        
array_push($farrayhtmlentities($file));
        
array_push($farray1$ftime);
        
array_push($farray2$fsize);
    }
}
array_multisort($farray2SORT_DESC$farray1$farray);
echo 
"
<table border="
1">
    <tr>
        <td><b>Datei</b></td>
        <td><b>Zeit</b></td>
        <td><b>Größe (B)</b></td>
    </tr>"
;
    for(
$i 0$i count($farray); $i++) {
        echo 
"
        <tr>
            <td>" 
$farray[$i] . "</td>
            <td>" 
gmdate("d m Y H:i:s"$farray1[$i]) . "</td>
            <td>" 
$farray2[$i] . "</td>
        </tr>"
;
    }
    echo 
"
    </table>
</form>
</body>"
;
closedir($handle);
?>
Kannste jetzt sicher anpassen.
Cu Marilu
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:48:23 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt