×
Vytvárame riešenia

Funkcia scandir() (PHP)

Funkcia scandir() vráti pole obsahujúceho súbory a adresáre v definovanom adresári. Argumentom je cesta k adresáru v podobe reťazca a voliteľným argumentom spôsob zoradenia. Ten môže mať hodnoty 0 alebo 1. Výsledok funkcie scandir() je možné spracovať napríklad cez cyklus foreach.
Príklad: Definovanie zoradenia výsledku.
1
$result = scandir("./", 1);
Pre aktuálny adresár slúži reťazec "./". Pre adresár o úroveň vyššie od aktuálneho nastavenia v adresárovej štruktúre je určený reťazec "../". Vo väčšine prípadov sa používa relatívna cesta, vďaka ktorej je projekt ľahšie premiestniteľný. Reťazce "./" a "../" vyjadrujú relatívnu cestu. Výhodou funkcie scandir() je fakt, že nie je potrebné používať handler, teda zbytočné príkazy pre získanie súborov a adresárov. Pre zistenie či položka v poli výsledkov je adresár alebo súbor slúži funkcia is_dir().
Príklad: Výpis súborov a adresárov v aktuálnom adresári.
1
2
3
4
5
6
7
$files = scandir("./");
foreach ($files as $file) {
if ($file != "." && $file != "..") {
echo $file . (is_dir($file) ? " (directory)" : " (file)") . "<br>";
}
}
V prípade, že sa nemení zoradenie súborov cez voliteľný parameter, je možné na odstránenie znaku pre aktuálny adresár . a znakov pre adresár o úroveň vyššie .., ktoré sú súčasťou výstupu funkcie scandir(), použiť funkciu array_splice().
Príklad: Aplikovanie funkcie array_splice() na výstup funkcie scandir().
1
2
3
4
5
6
$files = scandir("./");
array_splice($files, 0, 2);
foreach ($files as $file) {
echo $file . (is_dir($file) ? " (directory)" : " (file)") . "<br>";
}
Uvedený zápis funkcie array_splice() odstráni z poľa $files prvé dva prvky, ktoré obsahujú znaky (. a ..).

Záver

Funkcia scandir() nie je súčasťou verzie PHP 4, ale je platná až od verzie PHP5. Preto ak chce programátor pracovať s funkciou scandir(), musí mať nainštalované PHP minimálne vo verzii 5.
Autor: Matej Lednár
Dátum: 12.12.2012
Kategória: PHP
Značky: scandir, programovanie, php, foreach, array_splice


PHP,scandir,programovanie,PHP,foreach,array_splice
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších