Valcha Posted November 29, 2004 Report Share Posted November 29, 2004 Vai kāds nevarētu pastāstīt, kā iekonfigurēt php vai arī kādu komandu vajag, lai, spiežot back pogu browserī, lapa nepārlādētos par jaunu. Nu citādi sanāk lieka servera noslodze... Link to comment Share on other sites More sharing options...
Kaklz Posted November 29, 2004 Report Share Posted November 29, 2004 To nevar. Link to comment Share on other sites More sharing options...
bubu Posted November 29, 2004 Report Share Posted November 29, 2004 Vai tad ne? Uzlikt ka lapu drīkst kešot var tak. Nu protams 100% risinājums tas nav, bet daudzos browseros gan jau tas strādās. Vai vismaz būs nevis get pieprasījums, bet tikai head. Link to comment Share on other sites More sharing options...
Valcha Posted November 29, 2004 Author Report Share Posted November 29, 2004 Kur tad ir domāts, ka ielikt lapu lai kešo? Vai uz apache vai arī tas bija domāts browserī? :) Link to comment Share on other sites More sharing options...
bubu Posted November 29, 2004 Report Share Posted November 29, 2004 A pats kādu jautājumu uzdevi, atceries? Tu tak par browseri prasīji! Link to comment Share on other sites More sharing options...
Valcha Posted November 29, 2004 Author Report Share Posted November 29, 2004 Nu tad sorr. Es biju domājis par to, kā uz servera iestādīt vai arī php kodā, lai, spiežot back pogu, nepārlādētu iepriekšējo lapu browserī par jaunu. Nu es domāju, ka tas varētu būt php iestādījums (ja tāds ir), bet neko jēdzīgu neatrodu. Jo es skatos, ka, piem., TVnetā nepārlādē pie BACK spiešanas, bet manā lapā pārlādē gan. Vai ir kādas idejas? :blink: Link to comment Share on other sites More sharing options...
bubu Posted November 30, 2004 Report Share Posted November 30, 2004 Nu jā! Protams, ka php kodā! Saliec kešošanās headerus pareizus kautkādus! (kādus nezinu, meklē gūglē) Tad browseris varbūt paturēs datus, nevis pārlādēs tos, Link to comment Share on other sites More sharing options...
Venom Posted November 30, 2004 Report Share Posted November 30, 2004 (edited) cits variants - serializē svarīgus datus un pats kešo tos failus, e.g. provizorisks kods: $hash=md5(serialize(array($_GET,$_POST,$_SESSION))); $cache_timeout=180;//3 minutes $cache_dir='./cache/'; if (!($tmp=@filemtime($cache_dir.$hash)) || (time()-$tmp>$cache_timeout) || !@include($cache_dir.$hash) ) ob_start(); else exit; viss tālākais kods, un pašās beigās $fh=fopen($cache_dir.$hash,'w'); $html=ob_get_clean(); fwrite($fh,$html); fclose($fh); echo $html; paskaidrojums: 1) tiek noģenerēts unikāls identifikators ienākošiem datiem, kas definē to, kas tiks atrādīts lapā, šis identifikators tiek izmantots kā kešfaila nosaukums att. direktorijā2) pārbauda 3 nosacījumus - nolasa kešfaila pēdējās maiņas laiku (ja fails neeksistē un laiks netiek atgriezts, uzsāk 3), vai nav notecējis att. sekunžu laiks un kešs nav jāatjauno, vai falu bijis iespējams iekļaut - tātad, ja viss izpildās kā gribētos, tiek iekļauts kešfails un exit. 3) citādi tiek uzsākta t.s. output kešošana - viss kam, būtu jāizvadās ar echo (htmls etc) tiek uz laiku paturēts operatīvajā atmiņā, no kurienes pēc visa koda beiguma mēs to dabonam ar ob_get_clean() un ierakstām kešfailā pašrotējošā kēšošana, poņimaješ Texas - Say What You Want (All Day Every Day) Edited November 30, 2004 by Venom Link to comment Share on other sites More sharing options...
Valcha Posted November 30, 2004 Author Report Share Posted November 30, 2004 Paldies, Venom, šis būs īstais. Kā reiz arī vajadzēja, lai iekešo lapu uz laiku - daudz sīku bildīšu, kas jālasa lapas dizainam utt. Stulbi citādi, ka katru reizi jāielasa no cietā. Bet te ir operatīvajā :) Es saprotu, ka varu kešot katru lapu, arī norādot to cash failu kā lapas nosaukumu, piem : $hash='index'; Vismaz izskatās, ka darbojas. Paldies par palīdzību :) Link to comment Share on other sites More sharing options...
Venom Posted November 30, 2004 Report Share Posted November 30, 2004 $hash=md5($_SERVER['PHP_SELF'].$_SERVER['QUERY_STRING']); nu es saku - hasho to, no kā ir atkarīgs, kas beigu beigās rādīsies - ja tikai caura adresi tiek nodoti $_GET parametri, var hashot tikai QUERY_STRING. Link to comment Share on other sites More sharing options...
Valcha Posted November 30, 2004 Author Report Share Posted November 30, 2004 Venom. Bet Tev ir pārliecība, ka tie faili radīsies arī operatīvajā, nevis tikai uz cietā diska? :blink: Link to comment Share on other sites More sharing options...
Venom Posted November 30, 2004 Report Share Posted November 30, 2004 ob_start - tur operatīvajā bet beigās uz ob_get_clean dabū nost un saglabā failā vienmēr operatīvajā var turēt tikai ar shared memory, linuxā stabilāx Link to comment Share on other sites More sharing options...
Recommended Posts