| Autor | Zpráva | ||
|---|---|---|---|
| peteo Profil |
prosím o pomoc.
mám kód: <?
$dotaz = $_GET["dotaz"];
$stop="konieczaznamu";
$book=Array("a","aaa","aaaa","ae","b","c","cs","ccc","d","dj","dz","dzj","e","eee","f","g","h","ch","i","iii","j","k","l","lj","m","n","nj","o","ooo","oe","p","q","r","rs","s","sz","t","tj","u","uuu","uy","v","w","x","y","yyy","z","zs","!","0-9");
for ($i=0; $i<=1; $i++) {
echo $book[i];
$soubor=fopen($book[i], "r");
do{
$text=fgets($soubor);
$pos = strpos($text, $dotaz);
if ($pos === false) {
}
else {
echo "<hr><h1><span>";
echo $text;
}
}
while ($text<>$stop);
fclose($soubor);
}
?>ktorý sa správa ako zacyklený (možno skontrolovať na http://lexikon.sk.sweb.cz/new). je v kóde chyba? díky za pomoc. |
||
| Alphard Profil |
#2 · Zasláno: 19. 9. 2009, 08:53:18
Je zde několik chyb a je to nepřehledné, ale zacyklené to asi není.
Od řádku 6 používáte místo $i jenom i, to je důvod, proč to nefunguje. Nejkritičtější je tohle while ($text<>$stop);, to bych řešil jinak, jestli na konci souboru chybí požadovaný řádek, skutečně se to zacyklí. Mimochodem, znáte regulární výrazy? |
||
| peteo Profil |
#3 · Zasláno: 19. 9. 2009, 11:48:33
Alphard
je možné, že to je neprehľadné. vďaka za odkaz. proste sa učím. bohužiaľ, aj za cenu chýb. |
||
| peteo Profil |
#4 · Zasláno: 19. 9. 2009, 22:36:35
„Nejkritičtější je tohle while ($text<>$stop);, to bych řešil jinak, jestli na konci souboru chybí požadovaný řádek, skutečně se to zacyklí. “
nechám si rád poradiť, veď sa php iba učím. |
||
| Alphard Profil |
#5 · Zasláno: 19. 9. 2009, 23:11:24
Podívejte se do manuálu, konstrukce s feof() spolehlivě vyřešení čtení do konce souboru.
while (!feof($handle)) {Ale jak již jsem psal, bylo by dobré to celé předělat s využitím regulárů. Podrobnější analýzou by se možná dokonce došlo k tomu, že bude vhodnější použít databázi. |
||
|
Časová prodleva: 17 let
|
|||
0