Autor | Zpráva | ||
---|---|---|---|
kabanos Profil * |
#1 · Zasláno: 10. 1. 2011, 16:14:52
Ahoj,
mám php stránku, která načítá data do databáze. Dat je hodně, a tak jsem načítání rozkouskoval po cca 500 řádcích, abych nepřekročil časový limit. Přesto mi to po nějaké době v FF nahlásí "Smyčka při přesměrování". Znamená to, že existuje nějaké omezení i na počet přesměrování nebo tak něco? Jak to případně vyřešit, abych zpracoval vše a nemusel to dávkovat ručně. Přístup do vlastních nastavení serveru nemám. <?php $krok = 500;//odhadnutý počet zpracovávaných řádků $cislo_radku = 0; if (empty ($r)){$r = 0;} if (empty ($f)){$f = 0;} $file = 'data.txt'; $pocet_radku_file = 20000;//zde mám funkci na výpočet počtu řádků ve $file nebo pevné omezení a každý řádek načtu do array $farr foreach ($farr as $line) { if ($cislo_radku >= $r && $cislo_radku < ($r+$krok)) {include('./convert.php'); //soubor, který provádí různé věci s daty z řádku} $cislo_radku = $cislo_radku + 1; } function get_var($name,$default) { if($var = getenv($name)) {return $var;} else {return $default;} } $url = get_var("REQUEST_URI", ""); $url = explode("?", $url); if ($pocet_radku > ($r+$krok)) {header('Location: '.$url[0].'?f='.$f.'&r='.($r+$krok));} else {echo 'HOTOVO';} ?> |
||
Keeehi Profil |
#2 · Zasláno: 10. 1. 2011, 16:22:05 · Upravil/a: Keeehi
kabanos:
„Znamená to, že existuje nějaké omezení i na počet přesměrování nebo tak něco?“ Ano, ale je to vlastnost prohlížeče. Jak se to dá obejít: Nepoužívej header('Location: xxx'); ale echo '<meta http-equiv="refresh" content="0;URL=xxx">';
Je to prakticky to samé. Pokud by ani to případně nešlo (ale mělo by jít), tak použij javascriptové přesměrování. |
||
kabanos Profil * |
#3 · Zasláno: 10. 1. 2011, 16:37:25
Bezva, funguje to:-)
|
||
Časová prodleva: 13 let
|
0