Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nazwy plików z dziwnymi znakami
lzur
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lzur
post
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
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 10:29