Autor | Zpráva | ||
---|---|---|---|
phpnevyznalec Profil * |
#1 · Zasláno: 3. 7. 2014, 15:35:30
Zdravím, potřeboval bych načíst všechny soubory z jednoho adresáře pomocí
<?php include("něco.php"); , ale nechce se mi to vypisovat po jednom, soubory jsou očíslované (1.php, 2.php) atd., nejlepší by bylo, kdyby se to načetlo pozpátku to znamená, že, když tam bude 20 souborů, tak se to načte 20.php, 19.php - 1.php. Soubory se budou měnit, přidávat atd. takže nechci do toho kodu napsat, že tam je 20 souborů. Nějaké rady? Php není zrovna můj obor.
|
||
Jozin Profil |
#2 · Zasláno: 3. 7. 2014, 15:56:22
Zdravím, předně bych chtěl podotknout, že to asi není dobrý nápad takto načítat soubory, ale nevím, co se tím snažíš vyřešit. Pokud ty soubory obsahují třeba třídy, pak bych raděj doporučil autoloader a dobře pojmenovat soubory, vcelku by mě zajímalo co to tedy je za soubory, když je nutné jich načíst třeba i 20.
Každopádně řešením je opendir a readdir, projde všechny soubory a adresáře ve vybraném adresáři, filtrací a uložením položek do pole získáš seznam souborů, které chceš načíst, pole revertuješ, projdeš ním a na každou položku voláš funkci include. Kdyby bylo pořadí načítání nepodstatné, můžeš si ušetřit ukládání do pole a druhý průchod a rovnou načítat. Reference k pročtení: - opendir - readdir - array_reverse |
||
Alphard Profil |
#3 · Zasláno: 5. 7. 2014, 12:54:19
scandir() umí výsledek i seřadit. Jen zřejmě bude nutné v názvech zleva doplnit 0 na stejnou délku.
|
||
Časová prodleva: 10 let
|
0