Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP, výpis TXT souborů ve složce

Ahoj, trénuji další lekce PHP a zkouším vypisovat SOUBORY TXT ve složce, vysvětlím - mám složku a v ní 2 TXT SOUBORY(1.txt a 2.txt).

Každý txt soubor má rozdílný obsah (např, jeden AUTO, druhý KOLO).

Pomocí kódu se snažím jejich obsahy vypsat a listovat jima (další, předchozí).

Kód mi nefunguje, může mi někdo VYSVĚTLIT proč? Děkuji

<?php
$adresar=opendir('.');
while($objekt=readdir($adresar))
{
 if($objekt=="."||$objekt==".."||$objekt=="index.php")continue;
 $soubor[]=$objekt;
}
$text = fread($soubor, 10); 

if(!isset($_GET["strana"]))
 {$_GET["strana"]=0;}
 
echo $text[$_GET["strana"]];
if(($_GET["strana"])!=0)
 {echo "<a href=\"index.php?strana=".($_GET["strana"]-1)."\">zpet</a><br>";}
if(count($text)>($_GET["strana"]+1)) 
 {echo "<a href=\"index.php?strana=".($_GET["strana"]+1)."\">dalsi</a><br>";}
?>
Předmět Autor Datum
Zapni si error reporting, napr. v .htaccess: # error reporting E_ALL php_value error_reporting 2147…
los 08.08.2012 17:49
los
Už asi bylo řečeno vše, já jen doplním, že v proměnný $soubor nemáš název txt souboru, protože $soub…
ERASER 08.08.2012 19:49
ERASER
Tohle mne hodně už irituje. Kdyby dotyčná osoba měla nějaký zájem se to naučit, tak tu zabrouzdá a…
tomas.kulhanek 08.08.2012 19:57
tomas.kulhanek
Já když jsem viděl ten kód tak mi byl strašně povědomý, a pak jsem si dole přečetl"to jsem já, ten p…
ERASER 09.08.2012 12:20
ERASER
no mne spíše zaráží, že pracuje pořád s tím špatným kódem :) .. společně jsme ho tu odladili a on st…
tomas.kulhanek 09.08.2012 14:39
tomas.kulhanek
Kdyby pracoval se spatnym kodem by mi ani nevadilo, ale hlavne aby se v nem vyznal, to je zaklad. Na…
ERASER 09.08.2012 20:49
ERASER
vem si ten odladěnej kód co jsme ti sem dali.. vypiš si $soubor (například pomocí var_dump() ) a pa…
tomas.kulhanek 09.08.2012 14:40
tomas.kulhanek
Ahoj kluci, co je na tom, že zkoumám pořád to samé? Asi to stále nechápu a chci to pochopit.... Pro…
Mojebrejle 10.08.2012 16:08
Mojebrejle
Jen zkoumej, protože když nepochopíš ten kód, co jsem ti dal, tak těžko budeš dělat něco složitějšíh…
ERASER 10.08.2012 19:56
ERASER
Díky, budu se držet tvé nápovědy.. :-) poslední
Mojebrejle 11.08.2012 09:36
Mojebrejle

Zapni si error reporting, napr. v .htaccess:

# error reporting E_ALL
php_value error_reporting 2147483647
php_flag display_errors 1

Potom uvidíš, prečo ti to nejde:

Warning: fread() expects parameter 1 to be resource, array given in /home/peterp/Development/php/subory.php on line 8

Pozri si príklad v manuáli o fread. Súbor musíš najskôr otvoriť, potom použiť $handle na čítanie a nakoniec zavrieť.

Já když jsem viděl ten kód tak mi byl strašně povědomý, a pak jsem si dole přečetl"to jsem já, ten pochybný PHPpař, atd...", tak mi bylo vše jasné. Mě jen udivuje, že pořád experimentuje s tím stejným kódem, jako by to byla alfa a omega.
A teď ti dám hádanku, víš jaký je rozdíl mezi středoškolákem a vysokoškolákem?

Odpovím: středoškolák to ví a vysokoškolák to neví, ale ví kde to najít.
Mám ale za to, že to není jen obyčejná hádanka ale pravda, stejně jako dělení lidí na dvě skupiny:
1/ ti co o data nepřišli
2/ ti co zálohují

no mne spíše zaráží, že pracuje pořád s tím špatným kódem :) .. společně jsme ho tu odladili a on stejně ten špatný :) ..

tohle dělení je špatné, máš středoškoláka, vysokoškoláka, dítě a homo sapiens.

já mám jen maturu a sám hledám a zálohuji ;) .. co se týče zálohy, budeš se divit, ale v acronise mám rozdílovku co se mi dělá každých 10min :)

Kdyby pracoval se spatnym kodem by mi ani nevadilo, ale hlavne aby se v nem vyznal, to je zaklad. Na co mu bude, ze bude pracovat s dobrym kodem, kdyz se v tom absolutne nevzyna :-(.
A uz jak rikas, jsme mu tu psali, ze ma cist chybove hlasky (ony tam jsou asi z nejakeho duvodu).
A kdyz nevi co je v promene tak si to ma vyechovat, popr. v poli:

echo"<pre>";
print_r($soubor);
echo"</pre>";

Nebo jak jsi uvedly ty ten rozsireny vypis pres var_dump();

Ohledne zalohovani jsem driv nezalohoval, ale kdyz mi za 4 mesice odesly 3 disky v ruznych pc na ruznych koutech CR, tak me to malem dohnalo k silenstvi (nebo k zalohovani). Od te doby zalohuji (obcas nepravidelne), a vse je v poradku. Ale az budu muset udelat nejakou veledulezitou zalohu, tak par minut pred zalohovanim se mi to vys... :-D:.(

Ahoj kluci, co je na tom, že zkoumám pořád to samé? Asi to stále nechápu a chci to pochopit....

Proč je poradna? Aby lidé poradili, samozřejmě nevím kde hledat, google je veliký stejně jako internet.

Ano, máte pravdu, na netu je toho spousta, tak mi ale povězte, co mám zadat do vyhledávače? Špatný kód? A nakopírovat tam ten můj?

Ano, nejnovější PSPAD

Jen zkoumej, protože když nepochopíš ten kód, co jsem ti dal, tak těžko budeš dělat něco složitějšího.

Proč je poradna?

Asi aby ti poradila, ale nenaučí tě to.

nevím kde hledat

To je vidět.

Udělám příklad na ten zdrojový kód co si sem vložil. Kde hledat?
1/Ve zdrojovém kódu.
2/V prohlížeči číst chyby co to píše třeba: "Warning: fread(): supplied argument is not a valid stream resource in...".
3/Tady to píše něco o funkci fread(), tak prozkoumat danou funkci ve zdrojovém kódě, na
netu (do vyhledávače zadáš název funkce) nebo v knihách PHP – tvorba interaktivních internetových aplikací (str. 298).

Tohle je asi ten základní způsob. Pak existují taky takové chyby, že to nefunguje podle přání a žádné chybové hlášení to nepíše, to už jsou horší chyby, ale o těch zas někdy jindy :-).

A ten Pspad, má taky takovou malou nápovědu, když zmáčkneš ctrl+mezerník
[10480-screenshot-5-jpg]

Zpět do poradny Odpovědět na původní otázku Nahoru