Seznam souborů, vlatní skript

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pses
Člen | 5
+
+1
-

Dobrý den,
potřebuji vypsat seznam souborů tyu .jpg, .txt. Ptám se tedy, jak do presenteru napsat vlastní skript, který by data uložil do pole a ty pak v šabloně vypsal do html. Soubory budou uloženy v WWWROOT/MEDIA/IMGS/ a WWWROOT/MEDIA/LOG/

Hledám způsob implementace tohoto skriptu: :http://cz2.php.net/…ion.glob.php

Děkuji za odpověďi.

matopeto
Člen | 395
+
0
-

mozes pouzit napr Nette Finder (https://doc.nette.org/cs/utils/finder) alebo
si to napisat pomocou tychto prikazov: http://cz1.php.net/…/ref.dir.php

BTW preco nemozes pouzit priamo glob()?

EDIT: mozes sa inspirovat priamo zdrojakmi glob funkcie :) http://pear.php.net/…lob.php.html

Editoval matopeto (23. 2. 2014 23:03)

pses
Člen | 5
+
0
-

Díky, asi jsem to špatně napsal, potřebuji na stránku vypsat seznam souborů z adresáře.
Tzn například pod touto url:
www.domena.cz/list/txt – zobrazit stránku se seznamem txt souborů v adresáři domena.cz/MEDIA/LOG/
nebo:
www.domena.cz/list/img – zobrazit stránku se seznamem .jpg souborů v adresáři domena.cz/MEDIA/IMGS/

Chci se naučit použít php base funkce tedy

glob()

nebo i utilitu finder, ale absolutně nechápu do jakého souboru/adresáře ty funkce dát a jak je spojit se šablonou, polem … Rád bych je měl použitelné jako globální pro všechny šablony/presentery, tzn chci jen na podstránkách zavolat jen

zobrazoubory(".txt", "../MEIDA/LOG");

Pokud tedy použiju finder tak kam dát definici

use Nette\Utils\Finder;

a kam cykl

foreach (Finder::findFiles('*.txt')->in($dir) as $key => $file) {
    echo $key; // $key je řetězec s názvem souboru včetně cesty
    echo $file; // $file je objektem SplFileInfo
}

potřebuji návod step by step pro blbé …

Editoval pses (24. 2. 2014 19:24)

Mysteria
Člen | 797
+
0
-

Pokud to chceš mít ve všech šablonách, tak použij BasePresenter:

public startup() {
	parent::startup();
	$this->template->files = Finder::findFiles('*.txt')->in($dir);
}

V šabloně si je pak vypíšeš třeba:

<ul>
	<li n:foreach='$files as $key => $file'>{$key}</li>
<ul>
pses
Člen | 5
+
0
-

Díky všem, vyřešeno.

Presenter:

$this->template->files = glob("images/items01/*.JPG");

Šablona:

<div n:foreach="$files as $key => $file" style="float:left; border:1px solid blue;">
    <img src="{$basePath}/{$file}" width="150px" hspace="4px" vspace="4px">
</div>