Finder::findDirectories() nenajde složky s diakritikou
- jantobola
- Člen | 5
Potřebuji prohledat nějakou složku, která obsahuje další složky a názvy poukládat do pole. Pokud použiju:
<?php
foreach (Finder::findDirectories('*')->from("path/to/dir") as $dir) {
// save name of folder $dir->getFilename()
}
?>
tak mi to najde pouze složky, které v názvu nemají háčky.
Např. složku „Modré auto“ najde, složku „Červené auto“ nenajde
Dá se to nějak jednoduše vyřešit?
- jantobola
- Člen | 5
enumag napsal(a):
Zajímavé. Můžeš zkusit co udělá nativní RecursiveDirectoryIterator?
zkusil jsem:
<?php
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);
foreach($objects as $name){
dump($name);
}
?>
a výsledek byl takovýto:
SplFileInfo #2aab
path => "../www/resources/gallery\\Modr\xe9 auto" (35)
SplFileInfo #1f60
path => "../www/resources/gallery\\Cerven\xe9 auto" (37)
takže takhle to tu složku našlo, ale nějak to odstranilo háček :)
- jantobola
- Člen | 5
enumag napsal(a):
Obávám se že tohle je v současné době neřešitelné.
No, tak to je smůla. Pokud to tedy jede na linuxu v pohodě, tak mi to
stačí.
Dík.
- Filip Procházka
- Moderator | 4668
Mám pro tebe jednoduché řešení: nepoužívej diakritiku ve složkách, stejně je to prasárna ;)
- kbtm
- Člen | 22
Přeji dobrý den,
mám podobný problém … (Windows XP/WampServer 2.2/Apache 2.2.21/PHP 5.3.10/MySQL 5.5.20/Nette 2.0.12)
Uploaduji IMG do dočasného adresáře a pak je kopíruji spolu s náhledy do jiného. Pro dohledání IMG používám funkci :
foreach Finder::findFiles($pre.'*.jpg',$pre.'*.jpeg',$pre.'*.png')->from($this->imagesDirUploads.'temp/') as $file)
{....}
Najednou zjišťuji, že funkce vrací název souboru bez diakritiky (soubor
„Bez názvu.png“ → „Bez nzvu.png“.
Ale … testuji vše pod FireFoxem – tam funkce nyní pracuje chybně. Pod
Chromem vše OK !
Nemám čas/chuť dohledávat důvod, diakritiku odstraním už
v uploadovacím java-skriptu. Před cca týdnem bylo ale vše určitě
v pořádku – zřejmě nějaká aktualizace FireFoxu trochu zaskřípala
(momentálně verze 24.0 …). Pokud vezmu starší verzi kodu, pod FireFoxem
už také nepracuje.
Takové chování/změnu chování na straně prohlížeče bych v tomto
případě tedy nečekal.
S pozdravem kbtm