Autor Zpráva
Wojt@
Profil *
Napsal jsem si malého správce souborů, ale potřebuji seřadit soubory tak, aby první byly složky podle jména a poté soubory podle jména. Nejlepší by byla nějaká stránka kde jsou všechny typy řazení.
Díky za odpověď.
joejoe
Profil *
http://cz.php.net/manual/en/ref.array.php

nejcasteji pouzivam funkci usort()
Icka
Profil *
Použitím fce sort()
Wojt@
Profil *
Ještě něco: do odkazu na stránku jsem napsal adresu "něco.php?typ=1&meno=2222". jak mám udělat aby se typ a meno staly proměnnými a 1 a 2222 jejich hodnotami?
nightfish
Profil
$typ = $_GET['typ'];
$meno = $_GET['meno'];
Nox_lbc
Profil
$typ = $_GET['typ'];
$meno = $_GET['meno'];


Důvod?
Wojt@
Profil *
a fungovalo by to i s $_POST?
Wojt@
Profil *
Znovu se vrátím k původnímu dotazu: jak to mám zabudovat do kódu, tak aby první byly složky podle abecedy poté soubory podle abecedy. tady je můj kód:

function zobrazit(){
$meno = $_GET['meno'];
echo '<br>|<a href="javascript: history.go(-1);" class="navigace">Zpět</a>|<br><br><br><div align="center">';
echo "<form action="admin.php" method="GET"><input type="hidden" name="akce" value="uprava2"><input type="hidden" name="modul" value="MCentrum"><input type="hidden" name="typ" value="1">";
echo "<input type="submit" value="Otevřít"><br><hr width="30%"><table width="25%" border="2px"><tr width="100%" align="left"><td>";
$adresar = opendir("$meno");

while ($soubor = readdir($adresar)){
$is_dir = is_dir($soubor);
if($is_dir === TRUE){
echo ("
<a href="admin.php?akce=uprava2&modul=MCentrum&typ=7&meno=$meno/$soubor" method="post">$array2</a><br><br>");
}else{
echo ("
<input type="checkbox" name="meno" value="$meno/$soubor">$soubor<br><br>");
}
}
echo "</td></tr></table></form></tr></div>";
}
djlj
Profil
Projeď všechny nalezené soubory a složky cyklem a vytvoř si dvě nová pole — jednu pro složky a druhou pro soubory. Pak to podmínkou v každém cyklu přiřaď buď do pole složek, nebo souborů.
Wojt@
Profil *
Nějak nerozumím...
nightfish
Profil
Nějak nerozumím...
to je mrzuté, příspěvek od djlj je česky a vcelku srozumitelný

// deklarace promennych
$soubory = array();
$slozky = array();

// nacteni obsahu adresare
while ($soubor = readdir($adresar)) {
// kdyz je slozka, uloz do pole $slozky
if (is_dir($soubor)) $slozky[] = $soubor;
// jinak uloz do pole $soubory
else $soubory[] = $soubor;
}

// serad slozky i soubory podle abecedy
sort($soubory);
sort($slozky);

// vypis slozky
foreach ($slozky as $v) {
echo "Složka: $v<br>";
}

// vypis soubory
foreach ($soubory as $v) {
echo "Soubor: $v<br>";
}
Wojt@
Profil *
promiň, cykly ještě neumím.....
nightfish
Profil
http://linuxsoft.cz/php

studuj tedy...
Wojt@
Profil *
snažím se....
Wojt@
Profil *
Díky, funguje to. je pozoruji ve výpisu takovou zvláštní chybu:


.htaccess
403.txt
404.html
404.jpg
500.html
503.html
=====odsud dolů to tu nemá co dělat ====
FlashClock2.swf
Mail.txt
Novy1.php
Tabulky-25.4.2007
Tabulky-5.5.2007
=====osud dál je to už správně ====
admin-pr.php
admin.html
admin.php
ankety.php
....

Proč jsou soubory jinde než na správném místě? Asi špatný vztah Saturna a Jupitera....
Wojt@
Profil *
už vím: soubory:


FlashClock2.swf
Mail.txt
Novy1.php
Tabulky-25.4.2007
Tabulky-5.5.2007


mají jako jediné na začátku velká písmena. nedá se tomuto nějak vyhnout?
bukaj
Profil
Wojt@
Proč jsou soubory jinde než na správném místě?
Protože se to řadí podle ASCII tabulky.

nedá se tomuto nějak vyhnout?
Možná by pomohlo vyměnit sort() za natcasesort().
Wojt@
Profil *
díky, natcasesort() funguje.

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: