Forum

> > Off Topic > Alle Datein einer HP anzeigen
Forums overviewOff Topic overviewLog in to reply

German Alle Datein einer HP anzeigen

9 replies
To the start Previous 1 Next To the start

old Alle Datein einer HP anzeigen

weltsieger
User Off Offline

Quote
Hallo ihr.
einer von euch hatte mir mal nen code geschrieben. Ich glaub es war bizzl. danke nochmal dafür.

Doch da wir zurzeit versuchen unsere Schulhomepage zu verbessern und einen Vertretungsplan einbauen wollen stimmt nicht mehr alles und ich weiß nicht was man da ändern muss:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
function rec_scandir($dir)
{
$files = array();
if ( $handle = opendir($dir) )
{while ( ($file = readdir($handle)) !== false )
{if (substr($file,0,1)!=".")
{if ( is_dir($dir . "/" . $file) )
{$files[$file] = rec_scandir($dir . "/" . $file);}
else {$files[] = $file;}
}
}
closedir($handle);
return $files;
}
}

function cmp($a, $b)
{
if ( is_string($a) && is_string($b) ) {return strcmp($a, $b) > 0 ? 1 : -1;}
elseif ( is_int($a) && is_int($b) ) {return $a > $b ? 1 : -1;}
elseif ( is_int($a) && is_string($b) ) {return 1;}
elseif ( is_string($a) && is_int($b) ) {return -1;}
else {return 0;}
}

function array_ukmultisort(&$arr, $func)
{
uksort($arr, $func);
while ( list($key, $val) = each($arr) )
{if ( is_array($val) )
{array_ukmultisort($arr[$key], $func);}
}
}

function myprint_r($array, $prefix="", $offset="") {
foreach($array as $key => $value) {
if (is_int($key)) {
echo $offset.'<a href="'.$prefix.$value.'" target="_self">'.$value.' </a>';
} else {
echo $offset.'<a href="'.$prefix.$key.'" target="_self">'.$key.' </a>';
myprint_r($value,$prefix.$key."/",$offset."  ");
} //if
} //foreach
} //function 

$dir = rec_scandir(".");
array_ukmultisort($dir, "cmp");
echo "<pre>";
myprint_r($dir,"./");
echo "</pre>";
?>

Es sollen die Dateiendungen nicht mit angezeigt werden und diese Datei selbst auch nicht. Also sie wird index.php heißen.

Ist das möglich?

Danke schon mal im vorraus.

old Re: Alle Datein einer HP anzeigen

bizzl
User Off Offline

Quote
Das hättest du ehrlich gesagt auch selbst rausbekommen können
Ändrungen sind fett hervorgehoben, ich garantiere nicht das alles funzt.
Das Ausblenden des Dateinamens ist übrigens keine schöne sache, da dieser script eigentlich nicht für Menüs gedacht ist, sondern wirklich nur als Dateiauflister
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
function rec_scandir($dir)
{
$files = array();
if ( $handle = opendir($dir) )
{while ( ($file = readdir($handle)) !== false )
{if (substr($file,0,1)!=".")
{if ( is_dir($dir . "/" . $file) )
{$files[$file] = rec_scandir($dir . "/" . $file);}
else[b]if ($dir."/".$file!=__FILE__)[/b] {$files[] = $file;}
}
}
closedir($handle);
return $files;
}
}

function cmp($a, $b)
{
if ( is_string($a) && is_string($b) ) {return strcmp($a, $b) > 0 ? 1 : -1;}
elseif ( is_int($a) && is_int($b) ) {return $a > $b ? 1 : -1;}
elseif ( is_int($a) && is_string($b) ) {return 1;}
elseif ( is_string($a) && is_int($b) ) {return -1;}
else {return 0;}
}

function array_ukmultisort(&$arr, $func)
{
uksort($arr, $func);
while ( list($key, $val) = each($arr) )
{if ( is_array($val) )
{array_ukmultisort($arr[$key], $func);}
}
}

function myprint_r($array, $prefix="", $offset="") {
foreach($array as $key => $value) {
if (is_int($key)) {
echo $offset.'<a href="'.$prefix.$value.'" target="_self">'.$value.' </a>';
} else {
[b]$ext=pathinfo($key);
$ext=$ext['extension'];[/b]
echo $offset.'<a href="'.$prefix.$key.'" target="_self">'.[b]basename($key,'.'.$ext)[/b].' </a>';
myprint_r($value,$prefix.$key."/",$offset."  ");
} //if
} //foreach
} //function 

$dir = rec_scandir(".");
array_ukmultisort($dir, "cmp");
echo "<pre>";
myprint_r($dir,"./");
echo "</pre>";
?>

old Re: Alle Datein einer HP anzeigen

weltsieger
User Off Offline

Quote
da ich sogut wie kein php kann und grade erst damit begonnen habe mich damit zu beschäftigen, wusste ich nicht genau was ich ändern muss.

es funktioniert leider nicht richtig: jetzt zeigt er alle Dateien hindereinander an, aber es ist immer noch die index.php da und auch alle Endungen.

aber trotzdem danke für die Hilfe.

*EDIT: anstatt
1
[b]__FILE__[/b]
sollte ich doch den Dateinamen schreiben oder? Mit oder ohne ""?
edited 1×, last 21.10.07 04:07:09 pm

old Re: Alle Datein einer HP anzeigen

bizzl
User Off Offline

Quote
Nein, __FILE__ ist eine interne Konstante in der der aktuelle Dateiname bereits abgespeichert ist (und zwar der echte, auch bei includes)

old Re: Alle Datein einer HP anzeigen

weltsieger
User Off Offline

Quote
apropo wäre es nicht auch möglich gleich alle datein mit include einzufügen? Es werden immer nur max 2-3 datein sein.

Hab das zwar schon mal probiert mit dem von dir gleich zu kombinieren, doch es kam immer ne Fehlermeldung, weil soweit ich verstanden habe dadurch ne endlosschleife entstanden ist.

old Re: Alle Datein einer HP anzeigen

bizzl
User Off Offline

Quote
Das ist gut möglich, je nach dem wo du das include hingebaut hast und ob die ausfilterung des dateinamens wirklich klappt.
Außerdem listet dieser Script auch dateien auf die nicht includiert werden sollten (bilder, pdfs, etc), und er listet Alphabetisch, nicht funktional => soll heißen er wird dir Müll ausgeben, sollte es funktionieren.

Was zur hölle wilst du eigentlich machen?

old Re: Alle Datein einer HP anzeigen

weltsieger
User Off Offline

Quote
Einen Vertretungsplan für die Homepage meiner Berufsschule.

Es soll so einfach wie möglich für die Lehrer sein, den neusten online zustellen.

So dachte ich mir, dass man einfach einen Ordner erstellt wo der neuste drinn ist (möglichst als html / php / o.ä.) und dann mit dem code von dir die daten alle ausliest und dann zusammen auf eine seite kommen.

Ich hoffe du verstehst was ich meine und dass es auch funktioniert.

old Re: Alle Datein einer HP anzeigen

bizzl
User Off Offline

Quote
Ja, aber das ist ein riesen unfug, da dieser code versuchen würde jede Datei einzufügen, egal welchen typs, und dann alle auf einmal.
Machs doch lieber so:
> erstelle ein Verzeichnis in dem die Vertretunspläne gelagert werden
> erstelle einen Script über den die Lehrer dort eine Datei hineinladen können (in anderem verzeichnis, gesichert via .htaccess + .htpasswd)
> Binde in die für Schüler sichtbare Website einfach einen kurzen Script ein der im Vertretungsplanverzeichnis nach der Datei mit dem jüngsten Zeitstempel sucht und diese dann einfach verlinkt.
Das ist wesentlich sicherer als das was du vor hast...

old Re: Alle Datein einer HP anzeigen

weltsieger
User Off Offline

Quote
Also die ersten beiden Punke werde ich hinbekommen, doch dass mit dem raussuchen da weiß ich noch nicht wie ich das hinbekommen soll, da php mir noch ziemlich unbekannt ist.

Wäre es auch möglich, dass alle noch aktuellen datein (erkennbar am datum der Unterrichtsstunden) angezeigt werden?

old Re: Alle Datein einer HP anzeigen

bizzl
User Off Offline

Quote
i c h has written
Also die ersten beiden Punke werde ich hinbekommen, doch dass mit dem raussuchen da weiß ich noch nicht wie ich das hinbekommen soll, da php mir noch ziemlich unbekannt ist.

Dann solltest du dich net an solche projekte wagen IMG:https://bizzl.bi.funpic.de/forum/images/smilies/RedFox/woa.gif

SelfPHP hat mir beim programmieren oft geholfen, da findeste eigentlich alles wichtige, musst nur in etwa raten wie die funktion heißen könnte

i c h has written
Wäre es auch möglich, dass alle noch aktuellen datein (erkennbar am datum der Unterrichtsstunden) angezeigt werden?

Nein, dazu müsstest du die pläne parsen können. Da biste aber in php reichlich angeschissen wenn du keine ahnung hast.
To the start Previous 1 Next To the start
Log in to replyOff Topic overviewForums overview