Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP: Script, welches einen Ordnerinhalt nach dem Alpha~ ordnet u. speichert
Maisaffe
13.03.2005, 16:27
Ich bräuchte ein Script, das einen Ordnerinhalt nach dem Alphabet ordnet und die letzte Datei in eine Vairable speichert, bzw. den Namen der letzen Datei.
Dennis
dead_orc
13.03.2005, 16:33
Evtl. nicht die beste Lösung, aber eine:
<?php
$pfad = './bla/'; // Pfadangabe
$files = array();
// ...
if($handle = @opendir($pfad))
{
while($file = readdir($handle))
{
if($file != '.' AND $file != '..')
{
$files[] = $file;
sort($files);
}
}
}
$last = $files[count($files) - 1];
// ...
?>
wrtlprnft
13.03.2005, 17:25
Wäre es nicht besser, sort() erst aufzurufen, nachdem alle Dateien im Array sind?
Maisaffe
13.03.2005, 18:14
Es geht mir nur darum, das ich den letzten dateinamen habe, mehr will ich nicht.
Hab das Script noch nicht ausprobiert, bin grade im Stress.
Dennis
Crash-Override
14.03.2005, 12:50
Das geht, hab's grad mal schnell getestet, kann man ohne Probs verwenden...
http://www.bilder.pic-net2k6.net.tc/PNG/PNG13.PNG
wrtlprnft
14.03.2005, 13:21
Klar, gehen tut es schon, aber es wäre ressourcenschonender, die Zeile mit sort() zwei geschweifte Klammern nach hinten zu setzen.
<?php
$pfad = './bla/'; // Pfadangabe
$files = array();
// ...
if($handle = @opendir($pfad))
{
while($file = readdir($handle))
if($file != '.' AND $file != '..')
$files[] = $file;
sort($files);
print ($files[count($files) - 1]);
}
Jesus_666
14.03.2005, 14:48
Es wäre besser, statt sort() natsort() (http://de2.php.net/manual/de/function.natsort.php) zu verwenden. sort() sortiert ASCIIbetisch, was nicht immer das gewünschte Ergebnis bringt.
Maisaffe
14.03.2005, 15:14
Klar, gehen tut es schon, aber es wäre ressourcenschonender, die Zeile mit sort() zwei geschweifte Klammern nach hinten zu setzen.
<?php
$pfad = './bla/'; // Pfadangabe
$files = array();
// ...
if($handle = @opendir($pfad))
{
while($file = readdir($handle))
if($file != '.' AND $file != '..')
$files[] = $file;
sort($files);
print ($files[count($files) - 1]);
}
Notice: Undefined offset: -1 in blabla.php on line 111
Ähm jo...
Dennis
EDIT: Ich nehm alles zurück ;)
Ich will des jetz in ne Variable speichern, wie?
$letzte_datei = "echo ($files[count($files) - 1])";
oder so >__>
Ich hab PHP echt net drauf muss ich bemerken...
dead_orc
14.03.2005, 16:18
Würdest du mein Skript verwenden, hättest du schon in der Variable $last den letzten Namen gespeichert. Ansonsten einfach $variable_name = $files[count($files) - 1]; Dann ist in $variable_name der letzte Name gespeichert.
Maisaffe
14.03.2005, 17:57
Hab mal wieder mein .''..'' Problem:
fopen ('.gaestebuch/$gb_eintragnummer','w');
Stats die Variable soll halt deren inhalt da stehen, afaik brauch ich '.$variable.' oder so, aber ich checks mal wieder nicht.
Dennis
Benutz ' anstatt ". ;). In ' werden Variablen nicht geparsed. In " schon.
fopen ("gaestebuch/$gb_eintragnummer",'w');
Maisaffe
14.03.2005, 18:04
Benutz ' anstatt ". ;). In ' werden Variablen nicht geparsed. In " schon.
fopen ("gaestebuch/$gb_eintragnummer",'w');
Man du bist mein Gott*!
Dennis
* Für die nächsten drei (in Zahl 3) Stunden ;)
Edit:
$gb_eintragnummer = $gb_eintraege ++;
Richtig oder Falsch?
Dennis
$gb_eintragnummer = $gb_eintraege ++;Falsch. Mit ++ erhöst du die Variable selber auch. Also $gb_eintraege wird bei dir auch mehr. Mach lieber:
$gb_eintragnummer = $gb_eintraege+1;
Übrigens würde ++ noch den alten Wert zurückgeben.
$a = $b++;ist also äquivalent zu
$a = $b;
$b = $b + 1;
Nur ums mal so gesagt zu haben
BTW: Es gibt auch ++$b. Das gibt den neuen Wert zurück.
$a = ++$b;
//entspricht
$b = $b + 1;
$a = $b;
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.