Loading:


Sortowana lista plików do pobrania

Skrypt tworzy listę plików do pobrania z możliwością sortowania ich.



Napisz Artyku³

Listing


//Skrypt tworzy listę plików z możliwością sortowania *********

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
</HEAD>
<BODY>
<?PHP

$files = array();

function readFiles(&$files){
  if(!($fd = fopen("downloads.txt","r"))){
    return;
  }
 
  while (!feof ($fd)){
    $line = trim(fgets($fd));
    $arr = explode(";", $line);
    if(count($arr) == 4){
      $files[] = array($arr[0], $arr[1], $arr[3]);
    }
  }
}

function printFiles($files){
?>
<TABLE border="0"><TR>
<TD><A HREF="http://127.0.0.1:4949/index.php?sorttype=0">Id</A></TD>
<TD><A HREF="http://127.0.0.1:4949/index.php?sorttype=1">Nazwa</A></TD>
<TD><A HREF="http://127.0.0.1:4949/index.php?sorttype=2">Opis</A></TD>
</TR>
<?
  for($i = 0; $i < count($files); $i++){
    echo ("<TR><TD>");
    echo "<A HREF='download.php?fileid=".$files[$i][0]."'>".$files[$i][0]."</A>";
    echo ("</TD><TD>");
    echo "<A HREF='download.php?fileid=".$files[$i][0]."'>".$files[$i][1]."</A>";
    echo ("</TD><TD>");
    echo "<A HREF='download.php?fileid=".$files[$i][0]."'>".$files[$i][2]."</A>";
    echo ("</TD></TR>");
  }
  echo("</TABLE>");
}

function sortFiles(&$files, $left, $right, $sorttype){
  if($left < $right){
    $ind = $left;
    for($i = $left + 1; $i <= $right; $i++){
        if(strcmp($files[$i][$sorttype], $files[$left][$sorttype]) < 0){
        $ind = $ind + 1;
        $temp0 = $files[$ind][0];
        $temp1 = $files[$ind][1];
        $temp2 = $files[$ind][2];

        $files[$ind][0] = $files[$i][0];
        $files[$ind][1] = $files[$i][1];
        $files[$ind][2] = $files[$i][2];

        $files[$i][0] = $temp0;
        $files[$i][1] = $temp1;
        $files[$i][2] = $temp2;
      }
    }

    $temp0 = $files[$left][0];
    $temp1 = $files[$left][1];
    $temp2 = $files[$left][2];

    $files[$left][0] = $files[$ind][0];
    $files[$left][1] = $files[$ind][1];
    $files[$left][2] = $files[$ind][2];

    $files[$ind][0] = $temp0;
    $files[$ind][1] = $temp1;
    $files[$ind][2] = $temp2;

    sortFiles($files, $left, $ind - 1, $sorttype);
    sortFiles($files, $ind + 1, $right, $sorttype);
  }
}

if(isSet($_GET['sorttype'])) $sorttype = $_GET['sorttype'];
else $sorttype = 0;

if(!is_numeric($sorttype)) $sorttype = 0;

readFiles($files);
sortFiles($files, 0, count($files) - 1, $sorttype);
printFiles($files);

?>
</BODY>
</HTML>



// Zawartość pliku downloads.txt ********************************

00001;IMG_4026.jpg;d:\!\downloads\;Kemping nad jez. Dłużek
00002;IMG_3320.jpg;d:\!\downloads\;Bieszczady 1
00003;IMG_3321.jpg;d:\!\downloads\;Bieszczady 2
00004;IMG_3322.jpg;d:\!\downloads\;Kotlina Kłodzka
00005;IMG_3323.jpg;d:\!\downloads\;Widok z Rys
00006;IMG_3314.jpg;d:\!\downloads\;Zdjęcie z wakacji na Mazurach
00007;IMG_3315.jpg;d:\!\downloads\;Zdjęcie z wakacji nad morzem
00008;IMG_3316.jpg;d:\!\downloads\;Pocztówka z gór
00009;IMG_3317.jpg;d:\!\downloads\;Tatry zimą
00010;IMG_3318.jpg;d:\!\downloads\;Jezioro Mamry
 




Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
czy plik txt jest generowany po stronie serwera? tworzony jest na podstawie plikow znajdujacych sie np w katalogu, czy trzeba samemu utworzyc liste plikow w tekstowym?
autor: wwwftp | 13096 | 2018-01-24 12:45:12


Pliki są zapisane w pliku downloads.txt
autor: divix | 13112 | 2018-06-09 21:41:02


    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors