Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Katalog interpretowany przez php jako plik
-L_Dev-
post
Post #1





Goście







ZAWARTOŚĆ ROOT:
test.php
folder /galery/

ZAWARTOŚĆ /galery/:
plik cos.jpg
folder /mini/

ZAWARTOŚĆ /mini/
plik cos.jpg (pomniejszona wersja tego u góry)

  1. <?php
  2. //Folder z galerią
  3. $dir = &#092;"./galery/\";
  4.  
  5. if (is_dir($dir)) {
  6. if ($directory = opendir($dir)) {
  7. while (($file = readdir($directory))) {
  8.  
  9. if(!is_dir($file)){
  10. $size = filesize($dir.$file)/1024; //pobieram wielkość pliku i przeliczam ją na kb
  11. $size = (int) $size; //Usuwam ułamki
  12. echo &#092;"<a href=\".$dir.$file.\"><img src=\".$dir.\"mini/\".$file.\" alt=\".$file.\"(\".$size.\"kb)></a><br />\"; //Jako href, zostaje zapisany link do oryginalnego pliku, a jako img src zostaje z
  13. pisany plik miniaturka.
  14. }
  15. }
  16. closedir($directory);
  17. }
  18. }
  19. ?>

Wszystko byłoby cacy, gdyby nie fakt, że php dopatrzył się dwóch plików w folderze galery, nie będących katalogami:
cos.jpg
i mini
(kod HTML wygenerowany przez tą operację)
  1. <a href=./galery/cos.jpg><img src=./galery/mini/cos.jpg alt=cos.jpg(46kb)></a><br />
  2. <a href=./galery/mini><img src=./galery/mini/mini alt=mini(0kb)></a><br />

Czyli warunek if w linii 9 stwierdził, że /mini/ nie jest folderem.

Zmieniłem na chwilę warunek na
  1. <?php
  2. if(is_dir($file))
  3. ?>
i ku memu zdziwieniu wyświetlił tylko foldery . i .. (bez mini).

Skrypt był testowany na Windowsowym Apachu.
Go to the top of the page
+Quote Post

Posty w temacie
- L_Dev   Katalog interpretowany przez php jako plik   24.12.2004, 10:06:45
- - L_Dev   Przetestowałem z funkcją [PHP] pobierz, plaintext ...   24.12.2004, 22:10:23
- - mog   void clearstatcache(void); powinno pomóc. o ile si...   25.12.2004, 00:41:41
- - L_Dev   Wpisałem [PHP] pobierz, plaintext <?phpvoid cle...   25.12.2004, 10:51:50
- - crash   Linia 9: [PHP] pobierz, plaintext <?php if...   25.12.2004, 11:16:01
- - Guest   Działa! Wielkie dzięki   27.12.2004, 17:27:27


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 19:39