[#] Listowanie zawartości katalogu

( Ostatnio zmieniony wt., 17/06/2008 - 02:52 )
 

PHP

<?php

  // pełna ścieżka lub relatywna, w zależności od użycia
  $path = '/html/download';

  // Otwieramy folder
  $dir_handle = @opendir($path) or die("Nie moge otworzyc $path");

  // lista plików
  while ($file = readdir($dir_handle)) {
    if($file == '.' || $file == '..' || $file == 'index.php' ) {
      continue;
    }

    echo "<a href=\"$file\">$file</a><br />";
  }

  // Zamykamy uchwyt
  closedir($dir_handle);

?>

BASH → HTML

#!/bin/bash
#
# Skrypt tworzy prostego htmla z linkmi
# do plikow w danym katalogu

if [ -z "$2" ] ; then
  echo
  echo "Uzycie:"
  echo "$0 KATALOG PLIK"
  echo
  exit
fi

if [ ! -d "$1" ] ; then
  echo "Error: Katalog nie istnieje!"
  echo
  exit
fi

if [ -e "$2" ] ; then
  echo "Error: Plik wynikowy istnieje!"
  echo
  exit
fi

for plik in `ls $1` ; do
  echo "<a href=$1/$plik>$plik</a><br>" >> $2
done

lub wersja z sumami kontrolnymi i rozmiarem plików

#!/bin/sh

if [ -d "$1" ]; then
  cd $1
  shift
fi

echo '<html>' > index.html
echo -n '<head><title>' >> index.html
echo -n $* >> index.html
echo '</title></head>' >> index.html
echo '<body bgcolor="#ffffff" text="#000000">' >> index.html

echo '<table><tr><td>Nazwa pliku</td> <td>Rozmiar</td> <td>Suma MD5</td></tr>' >> index.html

for i in *; do
  if [ "${i}" = "index.html" ]; then continue; fi
    if [ -d "${i}" ]; then
      echo "<a href=\"${i}/\">${i}</a>/ &nbsp;" >> index.html
    else
      MD5=`md5sum ${i} | awk '{print $1}'`
      SIZE=`du -h ${i} | awk '{print $1}'`
      echo "<tr><td><a href=\"${i}\">${i}</a></td> <td> ${SIZE} </td> <td> ${MD5} <td/></tr>" >> index.html
    fi
done

echo '<hr>' >> index.html
echo '</table></body></html>' >> index.html
Twoja ocena: Brak Średnio: 5 (2 głosy)

Odpowiedzi : 2

Ostatni komentarz : czw., 17/07/2008 - 23:27

Inny przydatny sposób:
find katalog -type f -printf'%p %s %T@\n'

Zgadzam się. Ogólnie to parametr - printf jest użyteczny w celu wyświetlenia dodatkowych informacji o znalezionych plikach

Dodaj nową odpowiedź

Informacja:

Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich, mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Upewnij się, że twoja wypowiedź nie godzi w niczyje mienie.

  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <strong> <blockquote> <code>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Więcej informacji na temat formatowania

Łapirobot
Proszę odpowiedzieć
b
m
V
r
C
q
6
e
k
G
Enter the code without spaces and pay attention to upper/lower case.