Autor Zpráva
Folker
Profil
Ahoj, potřebuji poradit.
Mám tento script...
<?php
$soubory=opendir('soubory/clanky');
while (false!==($file = readdir($soubory))) {
if ($file != "." && $file != ".." &&$file!=="Thumbs.db") {
$file = basename ($file,".html");
echo $file;
?>

...kterým vypíši obsah adresáře na stránku.
Dále potřebuji dostat názvy souborů do pole, abych s nimi mohl dále pracovat, ale už nevím jak na to.
Můžete mi někdo poradit prosím?
Joker
Profil
Folker:
Místo echo $file (řádek 6) dejte něco jako $pole[] = $file
Folker
Profil
O.K. A když bych potřeboval tyto soubory seřadit třeba pomocí "natsort"? Můžu to provádět v rámci "while" nebo až poté, co "while" skončí? Dá se k proměnné $pole přistupovat i mimo while?
Kdybych se ptal nesrozumitelně, tak mi to prosím řekněte.
panther
Profil
Folker:
proměnné $pole přistupovat i mimo while?
$pole není proměnná, ale pole (array). Ten přístup - proč to nezkusíš? Že by lenost?

Kdybych se ptal nesrozumitelně, tak mi to prosím řekněte.
ptáš se srozumitelně, ale na věci, které si můžeš na dvou řádkách zkusit sám.
Folker
Profil
HM.... tak, jo. Díky za radu. To vážně pomůže.
Joker
Profil
panther:
$pole není proměnná, ale pole (array).
$pole je proměnná, pole (array) je její datový typ. Jinak samozřejmě $pole je příklad, ta proměnná se může jmenovat jinak- napsal bych $soubory, ale proměnná $soubory už tam je.

Folker:
...seřadit třeba pomocí "natsort"? Můžu to provádět v rámci "while"...
Tohle není ani tak otázka na PHP, jako spíš na přemýšlení a algoritmizaci.
Samozřejmě algoritmus "Přečíst jméno souboru, přidat do seznamu, celý seznam co zatím mám setřídit podle abecedy, to celé opakovat dokud jsou další jména souborů" je sice možný, otázka je nakolik rozumný.

HM.... tak, jo. Díky za radu. To vážně pomůže.
Pomůže. Teď čekáte na odpověď zhruba hodinu a půl.
Kdybyste se řídil pantherovou radou (a například za konec cyklu while přidal var_dump($pole), uložil, v prohlížeči obnovil stránku, podíval se na výsledek, zase to var_dump smazal a uložil), zjistíte to během cca půl minuty.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0