![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 24.01.2013 Skąd: Dzierżoniów Ostrzeżenie: (0%) ![]() ![]() |
Mam taki skrypt:
foreach (new DirectoryIterator('.') as $file) { if($file->isDot()) continue; $filename = $file->getFilename(); echo system("stat $filename");. } Skrypt uruchamia komendę stat (to oczywiście tylko przykład) dla każdego pliku obecnego w katalogu. Skrypt działa ale problemy pojawiają się jak na przykład w katalogu jest plik o nazwie `~!@#$%^&*()-=_+[]\{}|;':",.<>?.txt Oczywiście chodzi o zacytowanie tych dziwnych znaków i właściwe przesłanie ich jako parametr. Jak poprawić ten mój skrypt ? System operacyjny linux. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 24.01.2013 Skąd: Dzierżoniów Ostrzeżenie: (0%) ![]() ![]() |
Jednak nie działa zawsze.
wstawiłem linijkę: echo system("stat ".escapeshellcmd($filename)); i ona działa dla przykładu nazwy pliku, który podałem. Jednak jak w nazwie pliku znajdzie się dodatkowo spacja to niestaty nie działa. Przykładowo dla pliku o nazwie `~!@#$%^&*()-=_+[]\{}|;':",.< >?.txt dostawiona spacja pomiędzy <> dostaję komunikat: stat: cannot stat '`~!@#$%^&*()-=_+[]\{}|;'\'':",.<': No such file or directory stat: cannot stat '>?.txt': No such file or directory Ten post edytował lzur 20.04.2018, 16:00:33 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 10:29 |