[#] 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
5
Twoja ocena: Brak Średnio: 5 (2 głosy)