Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pliki wykonywalne i DirectoryIterator isExecutable
Forum PHP.pl > Forum > Przedszkole
!*!
Tak się zastanawiam czym są owe pliki wykonywalne, chciałbym uniemożliwić ich wyświetlanie poprzez odczytywanie zawartości katalogu:

  1. foreach (new DirectoryIterator($sciezka) as $pliki) {
  2.  
  3. if(!$pliki -> isDot() and !$pliki -> isDir() and !$pliki -> isExecutable()) {
  4.  
  5.  
  6. echo ';
  7. }
  8.  
  9. }


Jednak obojętnie jakich plików bym nie wrzucił do katalogu, to zostaną one wyświetlone (sh/py/php).
thek
Pomyśl. Czym się różni: mogę przeczytać, mogę zapisać i mogę uruchomić? Po to prawa dostępu powstały. Pliki wykonywalne to te, które można uruchomić by zrobiły coś dla Ciebie jako ich właściciela. Stąd ten atrybut będą miały skrypty. Jeśli go im usuniesz to się nie wykonają, a więc będziesz miał kichę. Pomyśl o nich jak o plikach exe. Po ich kliknięciu/uruchomieniu coś robią. Nie zawsze widzisz tego efekt, ale coś się zmienia. Możesz dostać informację co się stało jeśli exe Ci to wyświetli, ale nie ma on takiego obowiązku. Jeśli byś wykonywalność usunął, to tak jakby plik zamienił się w, choćby, tekstowy. Możesz w nim pisać lub go obejrzeć, ale nic więcej nie potrafi. Tak "na chłopski rozum" można to wytłumaczyć. Jest to może nie idealne przedstawienie, ale w miarę wiernie oddaje sens.
!*!
Czyli głównie chodzi o chmod, szczerze mówiąc to cały czas miałem wrażenie iż ta funkcja jest czymś w rodzaju "blokowania" rozszerzeń plików biggrin.gif
thek
Te funkcje to zawoalowane sprawdzanie ustawień chmod jak sam zauważyłeś. Nic więcej smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.