PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

29-10-2006, 21:30
|
Anti2003
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Beiträge: 31
|
|
array sortieren
Hallo ich habe folgendes Script
Code:
PHP-Code:
<?
$files = array();
$dh = opendir("./include/gallery");
while($file = readdir($dh)){
if($file != "." and $file != ".."){
array_push($files, $file);
}}
closedir($dh);
?>
<html><head><script language="JavaScript">
function loadDown(){
var datei = document.myform.files.value;
location.href = datei;
}
</script></head><body><form name=myform>
<select name=files onchange="javascript:loadDown();">
<?php
sort($files);
foreach ($files as $key => $val) {
echo "files[" . $key . "] = " . $val . "\n";}
?>
<?
foreach($files as $filename){
print "<option value=\"./include/gallery/".$filename."\">$filename</option>\n";
}
?>
wie kann ich das menü was entsteht nach datum sortieren?
|

29-10-2006, 21:55
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
Re: array sortieren
So könnte es funktionieren:
PHP-Code:
<?
$files = array();
$dh = opendir("./include/gallery");
while($file = readdir($dh)){
if($file != "." and $file != ".."){
array_push($files[filemtime($file)], $file); // <--
}}
closedir($dh);
?>
<html><head><script language="JavaScript">
function loadDown(){
var datei = document.myform.files.value;
location.href = datei;
}
</script></head><body><form name=myform>
<select name=files onchange="javascript:loadDown();">
<?php
krsort($files, SORT_NUMERIC); // <--
foreach ($files as $timestamp => $filenames) { // <--
sort($filenames); // <--
foreach ($filenames as $key => $val) {
echo "files[" . $key . "] = " . $val . "\n";}
} // <--
?>
Rest bekommst du sicher allein hin.
|

30-10-2006, 05:47
|
Anti2003
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Beiträge: 31
|
|
danke für die hilfe dann kommt der fehler:
..."Warning: filemtime(): Stat failed for" und dann der der pfad eben, der fehler ist in zeile 14:
PHP-Code:
array_push($files[filemtime($file)], $file); // <--
woran kann das liegen?
|

30-10-2006, 09:40
|
hhcm
PHP Senior
|
|
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
|
|
Stat failed = Datei nicht vorhanden.
Irgendwas verdrehst du da.
__________________
gruss Chris
Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
|

30-10-2006, 12:53
|
Anti2003
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Beiträge: 31
|
|
das problem ist ja das er das verzeichnis angibt :
Warning: filemtime() [function.filemtime]: Stat failed for Salza_Storm (errno=2 - No such file or directory) in /srv/www/htdocs/web182/html/include/gallery/pull.php on line 14
In dem Verzeichnis Salza Storm sind mehrere Bilder und eine index.php.
|

30-10-2006, 12:58
|
hhcm
PHP Senior
|
|
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
|
|
Zitat:
Original geschrieben von Anti2003
das problem ist ja das er das verzeichnis angibt
|
Das ist doch nicht wirklich ein Problem oder?
__________________
gruss Chris
Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
|

30-10-2006, 13:14
|
Anti2003
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Beiträge: 31
|
|
aber wo liegt nun der fehler? Das verzeichnis hat er doch gefunden (die anderen auch), warum kann er es nicht einfach wie bei meinem ganz oben geposteten script einfach nur nach datum ausgeben? ist das so schwer?
|

30-10-2006, 13:17
|
hhcm
PHP Senior
|
|
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
|
|
Was ergibt
echo $file
__________________
gruss Chris
Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
|

26-11-2006, 21:00
|
Anti2003
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Beiträge: 31
|
|
da wird gar nichts ausgegeben.. ich verzeifel hier noch gibts da nicht eine andere lösung irgendwie?
|

27-11-2006, 03:01
|
fiderallalla
Junior Member
|
|
Registriert seit: Jul 2003
Ort: Mönchengladbach
Beiträge: 70
|
|
Zitat:
...gibts da nicht eine andere lösung irgendwie?
|
Wenn's auf Linux*läuft beispielsweise:
PHP-Code:
$files = ( true == file_exists($dir) ) ? explode("\n",`ls -ltr $dir | awk '{ print ($9) }'`): Array();
Gruß,
Hans
P.S: Habs nicht hinbekommen die Whitespaces+Leerzeilen auf diesem Weg rauszutrimmen, habs mit grep versucht, vielleicht hat jemand nen Tip?
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|