PHP HELP
-
#183
Na, máris látom, mi a hiba. Teljesen logikus, amit csinál, ugyanis a script-ben még header infókat küldözgetsz. Nem kell, itt már nem szabad. Ha a html-es refresh-t használod, akkor nem fog működni.
A megoldás? A php-n belül dinamikusan fel kell építeni a weboldalt. A problémás részek az utolsó if()-ben vannak, helyette használd pl. ezt:
echo("<div align=center><table border=0><tr><td>");
if ($img != null) {
echo("<img src=\"$img\">");
} else {
echo("Image not found");
}
echo("</td></tr></table></div>\n");
A 2 másodperc viszont szűk lesz, lassú netkapcsolat esetén az illető nem látja a képet, mert rögtön frissíteni fog.
Másrészt a script minden alkalommal végigolvassa a könyvtárakat, újra és újra felépíti a tömböt, újra választ belőle... nem biztos, hogy hatékony megoldás. Célszerűbb lenne, ha a script figyelne egy fájlra. Ha nincs ilyen (vagy olyan paramétert kap), akkor létrehozza (beleönti a tömb tartalmát, az első sorba a darabszámmal együtt). Ha létezik, akkor megnyitja, kiolvassa a darabszámot, majd random választ egyet. A legjobb, ha a bejegyzések fix hosszúságúak, ekkor nem kell szekvenciálisan végigolvasni a sorokat a kiválasztott tételig, elég egy pozícionálás, satöbbi.
Én így csinálnám. :)