Autor Zpráva
soucekgns
Profil
Potřeboval bych vypsání všech souborů(bez přípony) ve složce ale i jejich velikost a samotnou příponu
Dokázal jsem pouze vypsání souborů:
<?php
$slozka = opendir("../k4a/school/Aj/u/");
$ignoruj = "aj.php";
while ($soubor = readdir($slozka))
{ if ($soubor != "." && $soubor != ".." && $soubor != $ignoruj)
{ echo '<a href="../k4a/school/Aj/u/'.$soubor.'" class="stazeni">'.$soubor.'</a>'//velikost je .$velikost. a typ souboru je .$typ-souboru.//
; }}
?>

a k tomu bych právě potřeboval to v těch //
Díky za rady
AM_
Profil
velikost se zjišťuje funkcí filesize(), příponu si z názvu odděl funkcemi pro práci s řetězci (buď explode() podle tečky a posledí položka výsledku bude přípona, nebo vše za poslední tečkou - kombinace strrpos a substr. Dokumentace všech funkcí na http://php.net
soucekgns
Profil
Když do adresy dosadím proměnnou, tak mi to napíše napíše jen velikost složky... tak nevím
<?php
$slozka = opendir("skin/images/");
while ($soubor = readdir($slozka))
$filename = "skin/images/.$soubor";
echo $filename . ': ' . filesize($filename) . ' bytes';
?>
AM_
Profil
soucekgns:
skin/images/.$soubor
- kde jsi vzal tu tečku
- proč while cyklus nemáš uzavřený v { } (pak se while vztahuje jen na první příkaz)

dále bys měl ošetřit, aby se ti nevypisovaly soubory "." a ".." (jsou v každém adresáři a reprezentují aktuální adresář a o jeden výše)

Příště si nejdřív zkontroluj chyby z nepozornosti, než poběžíš zpátky na fórum ;)
soucekgns
Profil
Jediný, jak mi to funguje je takhle:
<?php                
$slozka = opendir("skin/images/");
$ignoruj = "home.php";
{while ($soubor = readdir($slozka))
{ if ($soubor != "." && $soubor != ".." && $soubor != $ignoruj)
$filename = "skin/images/$soubor";
{ if ($soubor != "." && $soubor != ".." && $soubor != $ignoruj)
{ echo '<a href="skin/images/'.$soubor.'">'.$soubor.'</a>Velikost:'.filesize($filename).' bytes<br>'; }
}}}
?>
Radek9
Profil
soucekgns:
<?php
$slozka = opendir("skin/images/");
$ignoruj = "home.php";
{while ($soubor = readdir($slozka))
{ if ($soubor != "." && $soubor != ".." && $soubor != $ignoruj);
$filename = "skin/images/$soubor";
{ echo '<a href="skin/images/'.$soubor.'">'.$soubor.'</a>Velikost:'.filesize($filename).' bytes<br>'; }
}}
?>
Ty závorky a ten středník tam jsou k čemu, prosím tě?
<?php
$slozka = opendir("skin/images/");
$ignoruj = "home.php";
while($soubor = readdir($slozka)){
  if($soubor!="." && $soubor!=".." && $soubor!=$ignoruj){
    $filename = "skin/images/".$soubor;
    echo '<a href="skin/images/'.$soubor.'">'.$soubor.'</a>Velikost:'.filesize($filename).' bytes<br>';
  }
}
?>
soucekgns
Profil
Radek9:
Nevim jestli k něčemu, ale stejně to nefunguje...
Aby se mi nevypisovali ty adresáře "." a ".." tak tam musim mít 2x if ($soubor != "." && $soubor != ".." && $soubor != $ignoruj)
soucekgns
Profil
Tak beru zpět... funguje... díky moc

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: