Dateien in Verzeichnis: Zufall statt sort()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateien in Verzeichnis: Zufall statt sort()

    Ich habe ein Bildergaleriescript, welches die Thumb-Übersicht aus den ausgelesenen Bild Dateien im Verzeichnis erstellt.

    Die Dateien werden, wenn ich das richtig begriffen habe, mit
    sort($folder)
    sortiert.
    Ist es möglich, dass das Script die Reiehenfolge per Zufall ausgibt?
    Hier mal der Code der Index.php3

    [code]print "<h1 align=\"center\"><font face=\"$head1face\" size=\"$head1size\" color=\"$head1col\">$heading</font></h1>";
    print "<p align=\"center\"><font face=\"$head2face\" size=\"$head2size\" color=\"$head2col\">$subhead</font></p><h2>";
    print "<table align=\"center\" bgcolor=\"$tabdatcol\" width=\"$tabwidth\" border=\"$tabborder\" cellspacing=\"$zellabst\" cellpadding=\"$zellauff\"><tr>";

    // Hier wird die Vorschautabelle erzeugt
    $i=0;
    $anz=count($title);
    if ($anz>36) $anz=36;
    while ($i<$anz) {
    //if ($i==0 || $i%6==0) echo "<tr>";
    if ($i==0 || $i%3==0) echo "<tr>";
    echo "<td align=\"center\">&nbsp;<br><font face=\"$textface\" size=\"$textsize\" color=\"$textcol\"><a href=$PHP_SELF?gal=$i>$title[$i]</a></font></td>";
    $i++;
    //if ($i%6==0) echo "</tr>";
    if ($i%3==0) echo "</tr>";
    };
    print "</table><p>&nbsp;</p>";
    }else{

    error_reporting(63);

    ?>
    <center>
    <h1><font face="<? print $head1face; ?>" size="<? print $head1size; ?>" color="<? print $head1col; ?>"><? print $title[$gal] ?></font></h1>
    <? print "<table align=\"center\" bgcolor=\"$tabdatcol\" width=\"$tabwidth\" border=\"$tabborder\" cellspacing=\"$zellabst\" cellpadding=\"$zellauff\">";


    if (!isset($pg)){
    $pg=0;
    };
    $handle=opendir($dir[$gal]);
    $cform = $conform[$gal]."$";
    $pform = $tnform[$gal];
    $i=0;
    while ($file = readdir($handle)) {
    if (eregi("$cform",$file)){
    $folder[$i]=$file;
    //$thum[$i]=$file.".jpg";
    $pfile[$i] = str_replace($conform[$gal],$pform,$file);
    $i=$i+1;
    };
    };
    closedir($handle);

    sort($folder);
    $a=0;
    $count=$row*$col*$pg;
    for ($r=1; $r<=$row; $r++) {
    print "<tr>";
    if ($count>$i-1) {break;};
    for ($c=1; $c<=$col; $c++) {

    $tnpath=$tndir[$gal]."/".$pfile[$count];

    // Anzeige der Dateien
    print "<td valign=\"center\" align=\"center\" width=\"$colwidth\" height=\"$rowheight\"><a href=\"view.php3?id=$folder[$count]&gal=$gal&pg=$pg&count=$count\"><img src=\"$tnpath\" BORDER=\"$imgborder\"></a><td valign=\"center\">"; $count++;
    if ($count>$i-1) {break;};
    } ;
    print "</tr>";
    } ;




  • #2
    Es gibt die schöne Funktion shuffle, mit der erreichst du dein Ziel ohne Mühe. array_rand ist in dem Zusammenhang vielleicht auch brauchbar.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar

    Lädt...
    X