| 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: 16 let
|
|||
0