Vypis adresare obrazku z FTP, nebo pomoci DB?
- dotTwelve
- Člen | 167
Jak resite vypsani adresare? Je na to nejaka funkce primo v Nette?
Taky nevim co je lepsi, budou se pridavat soubory do ruznych kategorii, tak
jestli by nebylo lepsi vytvorit v databazi tabulku souboru se sloupci id,
nazev, nazev_webalize, cesta, idkategorie atd. a nacitat sloupec cesta
do pole.
- iguana007
- Člen | 970
http://www.php.net/….readdir.php
Ja osobne resim pres DB – mam vsechny soubory v jedne slozce a kategorizuji je do virtualnich adresaru ve stromove strukture definovane v db.
- dotTwelve
- Člen | 167
iguana007 napsal(a):
http://www.php.net/….readdir.php
Ja osobne resim pres DB – mam vsechny soubory v jedne slozce a kategorizuji je do virtualnich adresaru ve stromove strukture definovane v db.
Tuhle funkci bych pouzil, ale myslel jsem ze Nette ma nejakej FS. Nacpu to do
databaze.
Jeste dotaz, v jakej tvaru ukladat cestu? Absolutni, nebo relativni,
s lomitkem, bez?
- Majkl578
- Moderator | 1364
iguana007: Řešení pomocí readdir je s prominutím odporné. Existují i hezčí.
foreach (new DirectoryIterator('/tmp/files') as $file) {
...
}
Nebo rekurzivní procházení:
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/tmp/files')) as $file) {
...
}
- dotTwelve
- Člen | 167
Majkl578 napsal(a):
iguana007: Řešení pomocí readdir je s prominutím odporné. Existují i hezčí.
foreach (new DirectoryIterator('/tmp/files') as $file) { ... }
Nebo rekurzivní procházení:
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/tmp/files')) as $file) { ... }
Super ;) a dokonce to nevypisuje „.“ a „..“ jako readdir
- Majkl578
- Moderator | 1364
dotTwelve napsal(a):
Super ;) a dokonce to nevypisuje „.“ a „..“ jako readdir
Správně by mělo (nevím, jak na windowsech). Nicméně jde to opodmínkovat:
//u nerekurzivního procházení:
if ($file->isDot()) continue; //název je . nebo ..
u rekurzivního:
if (in_array($file->getFilename(), array('.', '..'))) continue; //název je . nebo ..
Editoval Majkl578 (25. 3. 2010 14:42)
- Panda
- Člen | 569
dotTwelve napsal(a):
Tuhle funkci bych pouzil, ale myslel jsem ze Nette ma nejakej FS. Nacpu to do databaze.
Jeste dotaz, v jakej tvaru ukladat cestu? Absolutni, nebo relativni, s lomitkem, bez?
Relativní bez lomítka. Relativní kvůli tomu, aby vše fungovalo i po přesunu jinam a bez lomítka kvůli tomu, aby bylo na první pohled jasné, že cesta je relativní. To lomítko je však již spíše subjektivní a záleží na vkusu.
- dotTwelve
- Člen | 167
Panda napsal(a):
dotTwelve napsal(a):
Tuhle funkci bych pouzil, ale myslel jsem ze Nette ma nejakej FS. Nacpu to do databaze.
Jeste dotaz, v jakej tvaru ukladat cestu? Absolutni, nebo relativni, s lomitkem, bez?Relativní bez lomítka. Relativní kvůli tomu, aby vše fungovalo i po přesunu jinam a bez lomítka kvůli tomu, aby bylo na první pohled jasné, že cesta je relativní. To lomítko je však již spíše subjektivní a záleží na vkusu.
No jo, jenze pak kdyz v komponente vypisu cestu tak se mi bez lomitka prida za aktualni URL, a ja potrebuju aby byla v rootu.
viz. $a->href($dokument->cesta)->setText(‚Zobrazit‘);
A dlasi dotaz :D
Jak si zavolam Helper ‚bytes‘ mimo sablonu, konkretne v komponente?
Editoval dotTwelve (25. 3. 2010 15:42)
- Panda
- Člen | 569
dotTwelve napsal(a):
No jo, jenze pak kdyz v komponente vypisu cestu tak se mi bez lomitka prida za aktualni URL, a ja potrebuju aby byla v rootu.
viz. $a->href($dokument->cesta)->setText(‚Zobrazit‘);
A dlasi dotaz :D
Jak si zavolam Helper ‚bytes‘ mimo sablonu, konkretne v komponente?
$a->href(Environment::getVariable('baseUri') . 'files/' . $dokument->cesta)->setText('Zobrazit');
je problém?
- dotTwelve
- Člen | 167
Panda napsal(a):
dotTwelve napsal(a):
No jo, jenze pak kdyz v komponente vypisu cestu tak se mi bez lomitka prida za aktualni URL, a ja potrebuju aby byla v rootu.
viz. $a->href($dokument->cesta)->setText(‚Zobrazit‘);
A dlasi dotaz :D
Jak si zavolam Helper ‚bytes‘ mimo sablonu, konkretne v komponente?$a->href(Environment::getVariable('baseUri') . 'files/' . $dokument->cesta)->setText('Zobrazit');
je problém?
<script>
$soubor = Environment::getVariable('baseUri') . 'dokumenty/' . $dokument->cesta;
$zobrazit->href($dokument)->setText('Zobrazit');
//zobrazeni funguje, cesta je spravne, ale signal nize neprebira celou cestu, ale pouze ve formatu: /dokumenty/atd.
$stahnout->href($this->link('stahuj', $dokument))->setText('Stáhnout');
</script>
Vyreseno zapisem:
<?php
$soubor = 'dokumenty/' . $dokument->cesta;
$zobrazit->href(Environment::getVariable('baseUri') . $soubor)->setText('Zobrazit');
$stahnout->href($this->link('stahuj', $soubor))->setText('Stáhnout');
?>
Tak a jeste dotaz, nacitam velikost z DB v bajtech a potrebuju na to helper |bytes jenze jak ho zavolam v komponente? Kdyz si do sablony predavam uz hotove HTML::elementy?
$velikost = $html->create(‚span‘)->setText($dokument->velikost);
Editoval dotTwelve (25. 3. 2010 16:39)