php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.11.2008, 12:41  
Erfahrener Benutzer
 
Registriert seit: 09.07.2008
Beiträge: 577
PHP-Kenntnisse:
Anfänger
SteiniKeule kann nur auf Besserung hoffen
SteiniKeule eine Nachricht über ICQ schicken SteiniKeule eine Nachricht über Skype™ schicken
Standard erstellungsdatum auslesen und sortiren

Hallo

ich möchte aus einer html datei das erstellungs / änderungsdatum auslesen und dann vom höchsten zum niedrigsten sortieren und die neusten 30 ausgeben lassen. kann mir einer sagen was mein fehler bisher ist, oder wie ich es besser machen kann?

PHP-Code:
$paths '.';
if(
$dir=opendir($paths))
{
 while(
$file=readdir($dir))
 {
  if (!
is_dir($file) && $file != "." && $file != ".." && $file != "index.php" && $file != "auswertung.php")
  {
   
$files[]=$file;
  }
 }
closedir($dir);
}
    
$dex 0;
while(
$dex != count($files))
{
    
$auswertung[$dex] = array(filemtime($files[$dex]) => $files[$dex]) ;
    
$dex $dex +1;
}
krsort($auswertung);
$dex 0;
while(
$dex != count($auswertung))
{
    
//echo "$auswertung[$dex]";
    
$dex $dex +1;
}
  
print_r($auswertung); 
die aktuelle ausgabe ist die hier:

Code:
Array (     [19] => Array         (             [1228042954] => 98da161491f02829ea7b9b502f64268c.html         )
      [18] => Array         (             [1228042540] => 7c84c9ea88f55dbceba87ceb69678e50.html         )  
    [17] => Array         (             [1228038338] => 8115b369418cfee2347474cb068b29cb.html         )   
   [16] => Array         (             [1228042660] => 403de47de85d84f0ea119d0c1ec2a25e.html         )     
 [15] => Array         (             [1228040715] => 5b40a1a67006ad7df7c48342a2529beb.html         )     
 [14] => Array         (             [1228040553] => 441aacce1d00e893a3ff1d5885d1495e.html         )     
 [13] => Array         (             [1228042474] => 36f78477000fa134f7aa74c4f3dafa00.html         )     
 [12] => Array         (             [1228040256] => 4a1af54b875a9c607c3cb75ea38ed85c.html         )    
  [11] => Array         (             [1228043135] => eecfdf71bf7e60efb6800937634216f8.html         )     
 [10] => Array         (             [1228038460] => ba818d37486d3f51f1a1d9df976d46a1.html         )    
  [9] => Array         (             [1228040509] => 99b0218a984abb0e4fa20c05ea73d045.html         )    
  [8] => Array         (             [1228037582] => 624514168e258d207318c719e39a14d3.html         )     
 [7] => Array         (             [1228040721] => 077d1d2dcf858c417a3b8aa4931523c1.html         )     
 [6] => Array         (             [1228042828] => f2142747def668d8cb53defb38532787.html         )     
 [5] => Array         (             [1228039701] => 5515248165efe46c4bfe2c9559a00d4f.html         )     
 [4] => Array         (             [1228043036] => 077e380f7ecd2c6926bdc523e8d55c8e.html         )    
  [3] => Array         (             [1228039657] => 74208d11fe399e32154a8217904fb788.html         )    
  [2] => Array         (             [1228040625] => 20f6971060580fb3528c82ec4f354a8f.html         )     
 [1] => Array         (             [1228039975] => 3e97527eb1cbdae743dd0dce797cc43c.html         )    
  [0] => Array         (             [1228040753] => c89472208986d93d063411c2e1b86c3a.html         )  )

Geändert von SteiniKeule (30.11.2008 um 12:42 Uhr). Grund: schönheitsfehler
SteiniKeule ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.11.2008, 12:48  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
ch möchte aus einer html datei das erstellungs / änderungsdatum auslesen und dann vom höchsten zum niedrigsten sortieren und die neusten 30 ausgeben lassen.
Da sagt Dein Code aber was anderes. Dort wird ein Ordner ausgelesen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 30.11.2008, 12:52  
Erfahrener Benutzer
 
Registriert seit: 09.07.2008
Beiträge: 577
PHP-Kenntnisse:
Anfänger
SteiniKeule kann nur auf Besserung hoffen
SteiniKeule eine Nachricht über ICQ schicken SteiniKeule eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Da sagt Dein Code aber was anderes. Dort wird ein Ordner ausgelesen.
ja ich lese einen ordner aus und dann frage ich die daten der htmldatein im ordner ab... oder seh ich den fehler einfach nicht?
SteiniKeule ist offline  
Alt 30.11.2008, 12:57  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Die Frage ist, warum Du $auswertung so ungünstig aufbaust.

Würdest Du
PHP-Code:
$auswertung[$files[$dex]] = filemtime($files[$dex]); 
benutzen, würde anschließend ein einfaches arsort reichen.

Auch sowas:
PHP-Code:
$dex 0;
while(
$dex != count($files))
{} 
geht auf mannigfaltige Wege einfacher!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 30.11.2008, 13:09  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das
PHP-Code:
if (!is_dir($file) && $file != "." && $file != ".." && $file != "index.php" && $file != "auswertung.php"
ist auch Quatsch. . und .. sind nämlich Verzeichnisse.

Vorschlag:
PHP-Code:
$filter = array ('index.php' 'auswertung.php');
...
if (!
is_dir ($file) && !in_array ($file $filter)) 
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 30.11.2008, 13:17  
Erfahrener Benutzer
 
Registriert seit: 09.07.2008
Beiträge: 577
PHP-Kenntnisse:
Anfänger
SteiniKeule kann nur auf Besserung hoffen
SteiniKeule eine Nachricht über ICQ schicken SteiniKeule eine Nachricht über Skype™ schicken
Standard

so weit so gut, aber leider ist die reihenfolge immer noch ned das was ich wollte:
ausgabe nach arsort
print_r($auswertung)
Code:
Array (     
[341f76ac8621e0463669e083347f7c5b.html] => 1228047201     
[dacb76b5e3e599a3573e88333f3fd571.html] => 1228046149     
[8c7c5b62c14864dfd363eec76b049e63.html] => 1228046145     
[d1b37033dbc77c985f0ebed50a8a8648.html] => 1228046141     
[8e2705e18c4177e805341646827cb0ec.html] => 1228045834 
)
hier der aktuelle code:

PHP-Code:
$paths '.';
if(
$dir=opendir($paths))
{
 while(
$file=readdir($dir))
 {
  if (!
is_dir($file) && $file != "." && $file != ".." && $file != "index.php" && $file != "auswertung.php")
  {
   
$files[]=$file;
  }
 }
closedir($dir);
}
    
$dex 0;
while(
$dex != count($files))
{
    
$auswertung[$files[$dex]] = filemtime($files[$dex]);
    
$dex $dex +1;
}
arsort($auswertung);
$dex 0;
while(
$dex != count($auswertung))
{
    echo 
'<br /><a href="'.$files[$dex].'">'.$auswertung[$files[$dex]].'</a>';
    
$dex $dex +1;
}
  
print_r($auswertung); 
sry hab deinen post noch ned gesehen, werd mir das gleich nochmal durchlesen

Geändert von SteiniKeule (30.11.2008 um 13:18 Uhr). Grund: zwischenpost von nikosch
SteiniKeule ist offline  
Alt 30.11.2008, 13:20  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Weil Du die Indexe dann wieder inkrementell durchläufst. Benutz doch mal foreach!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 30.11.2008, 13:33  
Erfahrener Benutzer
 
Registriert seit: 09.07.2008
Beiträge: 577
PHP-Kenntnisse:
Anfänger
SteiniKeule kann nur auf Besserung hoffen
SteiniKeule eine Nachricht über ICQ schicken SteiniKeule eine Nachricht über Skype™ schicken
Standard

danke danke danke. ich weis ich stell oft fragen die noch nicht mal in den anfägerbereich rein dürften, aber was sollte ich nur ohne euch machen? (packman spieln :P )

ich hab das ganze jetzt nach anregung meiner 2 oder 3 grauen zellen duch nikosch etwas geändert:

PHP-Code:
$paths '.';
if(
$dir=opendir($paths))
{
 while(
$file=readdir($dir))
 {
  if (!
is_dir($file) && $file != "." && $file != ".." && $file != "index.php" && $file != "auswertung.php")
  {
   
$files[]=$file;
  }
 }
closedir($dir);
}
    
$dex 0;
while(
$dex != count($files))
{
    
$auswertung[$files[$dex]] = filemtime($files[$dex]);
    
$dex $dex +1;
}
arsort($auswertung);

foreach(
$auswertung as  $files_for => $wert)
{
    echo 
'<br /><a href="'.$files_for.'">'.date("d.m.Y H:i:s",$wert).'</a>';


soweit bin ich jetzt schon mal sehr glücklich

danke nochmals
SteiniKeule ist offline  
Alt 30.11.2008, 13:39  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

1/ Bitte beachte den Hinweis in #5
2/ $auswertung kannst Du an sich auch gleich in der ersten Schleife erstellen. Vermutlich brauchst Du nicht mal das $files Array.
3/ Vergiß nie den Pfad! Wenn Du das Beispiel irgendwann auf einen anderen Pfad anwendest wird es so nicht mehr funktionieren.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 30.11.2008, 13:55  
Erfahrener Benutzer
 
Registriert seit: 09.07.2008
Beiträge: 577
PHP-Kenntnisse:
Anfänger
SteiniKeule kann nur auf Besserung hoffen
SteiniKeule eine Nachricht über ICQ schicken SteiniKeule eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
1/ Bitte beachte den Hinweis in #5
2/ $auswertung kannst Du an sich auch gleich in der ersten Schleife erstellen. Vermutlich brauchst Du nicht mal das $files Array.
3/ Vergiß nie den Pfad! Wenn Du das Beispiel irgendwann auf einen anderen Pfad anwendest wird es so nicht mehr funktionieren.

1* werde ich mir mal durchschauen wenn ich etwasmehr zeit habe
2* werd ich auch in einem ruhigen moment mal durchdenken
3* $file_for beinhaltet den ganzen pfad (sub.domain.de/name.html)
SteiniKeule ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
skript zu zwei DB's verbinden und auslesen xSpLiT Datenbanken 6 31.10.2008 15:51
[Erledigt] variable Postvariablen auslesen carsten PHP Tipps 2008 2 30.10.2008 16:20
Ordner auslesen und während des auslesen sortieren Dooki PHP Tipps 2008 6 14.05.2008 17:50
Vom Browser verschickte Daten auslesen und anzeigen? andy32 PHP Tipps 2008 3 22.08.2007 18:33
[Erledigt] Datenbank auslesen mit register_globals off PHP Tipps 2007 14 03.01.2007 17:12
[Erledigt] gelöst: Tabelle auslesen -&amp;amp;amp;amp;gt; Gleiche Einträge nur 1 Mal Datenbanken 3 31.03.2006 01:44
Textdatei auslesen, aber ohne Komentare HSFighter PHP Tipps 2006 31 23.02.2006 10:07
[Erledigt] bestimmte ID's auslesen als array PHP Tipps 2007 2 31.10.2005 20:23
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Daten aus Pw-Geschütztem bereich auslesen PHP-Fortgeschrittene 2 26.08.2005 15:27
alle Verzeichnisse sortiert auslesen PHP Tipps 2005-2 7 17.07.2005 10:20
auslesen und nochmals auslesen?! $$$ ThiKool $$$ PHP Tipps 2005 23 10.03.2005 19:43
Klassen auslesen PHP Tipps 2007 8 10.01.2005 07:07
[Erledigt] Auslesen von Text incl. &quot; aus Textfeld PHP Tipps 2007 4 04.01.2005 13:30
[Erledigt] Daten von anderer Homepage auslesen PHP Tipps 2004-2 5 02.12.2004 18:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datei erstellungsdatum, php erstellungsdatum, php erstellungsdatum datei, erstellungsdatum php, php erstellungsdatum auslesen, erstelldatum php, php erstelldatum, php ordner erstellungsdatum, erstellungsdatum auslesen, icq erstellungsdatum, skype account erstellungsdatum, skype erstellungsdatum, http://www.php.de/php-tipps-2008/49455-erstellungsdatum-auslesen-und-sortiren.html, php datei änderungsdatum auslesen, php verzeichnis auslesen erstellungsdatum, icq erstellungs datum, php verzeichnis nach upload datum auslesen, php erstelldatum auslesen, erstelldatum anzeigen, erstellungsdatum html

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum