Autor Zpráva
perwin
Profil
Ahoj,
mám tu zase takový problém. Tady je script, který vypisuje soubory z adresáře:
<?php

$slozka = dir("prez"); // lomítko není potřeba

 while($soubor=$slozka->read()) { // řádek 63

  if ($soubor=="." || $soubor=="..") continue;

$nazev=explode(".", basename($soubor));

$vypis = "
<fieldset style='width: 400px;'>
<legend align='top' style='font-size: 9pt;'  onclick=\"zobrazSkryj('$soubor')\"> $soubor </legend>
<div id='$soubor' class='skryvany'>
<a href='http://web.cz/dokumenty/download.php?file=$soubor' style='color: red; text-decoration: underline;'><img src='download-b.png' border='0'></a><br>
</div>
</fieldset><br>
";

echo "$vypis";

}

$slozka->close();



?>

- říká mi to:
Fatal error: Call to a member function read() on a non-object in /home/users/perwin/web.cz/web/dokumenty.php on line 63

Prosím o radu. Děkuji
Keeehi
Profil
Nejlehčí bude použít scandir.
Yuhů
Profil
a je tohle správná cesta? To "prez"? Nebylo by lepší volat to třeba

$slozka = dir("./prez");
LosFilipos
Profil
perwin:
Problém je v tom, že používáš objekt nějaké třídy na práci se soubory a přitom nemáš tu třídu nijak uvedenou. Tam by mělo být na začítku něco ve smyslu:
$slozka = new nazev_tridy();

a potom teprve můžeš volat ony funkce
$slozka->read();


Zkus něco lehčího.
Přečti si třeba tenhle článek...
DoubleThink
Profil *
LosFilipos:
A ty se zase zkus seznámit s funkcí dir, která vrací instanci objektu Directory.

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