for
22 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Vím že tohle je blbá otázka ale sem holt amatér a nevím to... jak docílim toho aby se např tento příkaz : for ($i = 1;$i < 11;++$i) prováděl pořád dokola ale ne hned ale vždy jednou za 10 minut ? thx
-
pokud tady zase nekdo nepouzije slovo "crontab" tak odpoved zni nijak.. to co chces kravina (viz: pozadavek->odpoved (HTTP))
-
v php je to kravina, jestli neveris zkus sam i kdyz presne nevim, co mas na mysli, jestli: for (blabla) { sleep (600); } a nebo neco jako: while (1) { # ja vim, tohle se nedela ;-) for (blabla) { } sleep (600); } jen to spomali nacteni stranky a to dokud se nestane (v druhym pripade nikdy resp. po vyprseni timeoutu) nic na ni neuvidis .. to co chces ty se v php udelat neda, jedine s refreshovanim, ale radeji pouzij javascript, ten zas neumim ja :-)
-
k cem to vlastne potrebujes dyt je to kravina kdyz napises k cemu to ptrebujes tak ti nekdo proadi nejakej zpusob kterym by se touj problam dal resit
-
Prostě potřebuju aby "něco" vlezlo na zadanou adresu vždycky jednou za 10 minut.
-
tak to mas bohuzel smulu bez onoho slova.. nerealne ;-)
-
myslis treba obnoveni obsahu nejake casi stanky kazdejch deset minut ? tak to udelej nasledovne do hlavicky te stranky dej JSscript <BODY ONLOAD="obnov()"> <SCRIPT> ii=3 function obnov() { ii=ii-1; if(ii==0) {location.reload()}; setTimeout("obnov()",4000); } </SCRIPT> trochu si pohrj stemi cisly nebo meta <META HTTP-EQUIV="refresh" CONTENT="600; URL=necopotrebne.php" > sice jsem nekde cetl ze http protokol umoznuje aby server klintovy vnutil nejakej obsah (tlačil) ale to je spise zalezitost cgi cos tady nepude a ani sam nevim jak by se to delalo
-
Neboli když vypnu JS a META REFRESH, jsem za vodou (jako že obojí vypnutý mám)...
-
najdis si placenej a napsis si cgi script
-
Rozumím Tvé otázce. Tady je moje vysvětlení: Dalo by se říci, že PHP skript pracuje na principu klient-server. To znamená, že aktivní (=dělá to, co si naprogramoval) je pouze tehdy, má-li ho někdo načtený ve svém prohlížeči. Pokud tedy chceš, aby Tvůj skript něco periodicky prováděl (např. zasílal emaily, "koukal se" někam, atd.) musíš zajistit trvalé spuštění skriptu na nějakém serveru a přes tag <META HTTP-EQUIV="Refresh" CONTENT="600; URL=/tvujskript.php"> se bude každých deset minut provádět znovuspuštění skriptu. PHP není pro tento případ vhodný. Lepší je použít jiný jazyk, např. CGI.
-
> AgentJ Možná jsem blbý, ale absolutně nerozumím tomu, co tady pořád někteří tvrdíte. např. věta: Dalo by se říci, že PHP skript pracuje na principu klient-server. To znamená, že aktivní (=dělá to, co si naprogramoval) je pouze tehdy, má-li ho někdo načtený ve svém prohlížeči. je dle mne úplně zcestná nebo ji alespoň vůbec nechápu. Jak může být php načtené v prohlížeči? > Lepší je použít jiný jazyk, např. CGI. A to jako na věci něco změní? Jak pomocí CGI docílíš časovaného spouštění skriptů. To uděláš jen pomocí nějakého "plánovače úloh" na serveru - viz. Masterem zmiňovaný Crontab. Navíc se tady ta otázka řešila minimálně už 20 krát. Pro autora dotazu: Uvědom si, že skript se vyhodnocuje v "krátkém" časovém úseku a následně se jeho výsledek odesílá ke klientovi do prohlížeče. Jestli chceš, aby se v rámci jednoho skriptu provádělo něco každých 10 minut, hledáš něco, co udělat ani nelze. Je to nesmysl. Teoreticky lze různými smyčkami běh skriptu zdržovat, ale je to prasárna, výsledku nedocílíš a popírá to základní princip php. Raději na to zapoměň! Druhou věcí je, jak zajistit, aby se nějaký skript spouštěl pravidelně. Prostřednictvím klienta lze poslat metainformaci <META HTTP-EQUIV="Refresh" CONTENT="600; URL=/tvujskript.php">, která stránku každých 600 sekund (či milisekund?) obnoví. Ale jako vždy platí: klientovi nemůžeš nic nařídit. Když to bude chtít udělat, tak nic obnovovat nebude. Druhou možností je skript pravidelně spouštět nějakým "plánováním" na serveru. Slouží k tomu např. zmiňovaný Crontab. Ten to vyřeší, ale rozhodně ne tady na webuzdarma, kde, jak tuším, není k dispozici. Uff, to jsem se rozepsal ;-)
-
2AgentJ: sorry ale placas nesmysly, a CGI neni programovaci jazyk, to je pouze rozhrani umoznujici pouziti JAKEHOKOLI jazyka nebo programu vykonavaneho na strane serveru, a neni pravda ze toho musi automaticky poskytovat vic ( i PHP nemusi bejt jako mod serveru, ale jako cgi) 2M:to co cches se da vyresit kombinaci JavaScriptu a PHP: <? if (!$pocitadlo) $pocitadlo=0 ?> <script language="javascript" type="text/javascript"> window.tmr=setInterval("funkce()",600000); var i=<? echo ($pocitadlo); ?>; function funkce() { i++; location.href="tento_soubor.php?pocitadlo="+i; } </script> </head> <body> <? // dalsi zpracovani if ($pocitadlo==0): include ("neco.php"); .. prikazy ... elseif ($pocitadlo==1): include ("neco_jinyho.php"); ... ... .. endif; ?>
-
Mozna se ten skript bude muset jeste upravit , nevim . Ale princip je v tom ze odcasovani musi provadet klient a vysledek php skriptu predat parametrem a ten php skript pak zpetne preda hodnotu pocitadla zpatky skriptu u klienta, aby se nevyresetoval.. ($pocitadlo by se melo kazdejch 10 minut zvetsit o jedno, ale to zvetsovani vlastne provadi klient ne server)
-
Jeste me napadlo ze by se to mohlo zjednodusit: <? if (!$pocitadlo) $pocitadlo=0 ?> <script language="javascript" type="text/javascript"> window.tmr=setInterval("funkce()",600000); function funkce() { location.href="tento_soubor.php?pocitadlo=<? echo ($pocitadlo+1) ?>; } </script> </head> <body> <? // dalsi zpracovani if ($pocitadlo==0): include ("neco.php"); .. prikazy ... elseif ($pocitadlo==1): include ("neco_jinyho.php"); ... ... .. endif; ?>
-
M: Tak sem to odzkousel funguje to jestli je to to co chces... priklad je na http://sojkovec.wz.cz/pokus.php zdroj si muzes stahnout z sojkovec.wz.cz/code.zip
-
A jaké to má využití, smím-li se zeptat?
-
Nevim .. ale chtel to ten M
-
;-) Otázka je, jestli by nebylo lepší mu to rozmluvit nebo se ho vyptat, na co to potřebuje. Každopádně jsi mu pomohl víc než dost.
-
Myslím to tak, jestli nechtěl vyřešit nějakou začátečnickou věc a my ho nesvedli ze správné cesty tímto "šíleným" řešením.
-
No prave mozna sme ho vsichni spatne pochopili, nevim.. No aspon sem se na chvili "zabavil";-)
-
Diky moc všem za pomoc,tak trochu sem si všechny rady smontoval dohromady a vyšlo mi přesně to co sem potřeboval, ještě jednou díky.
-
No to si nas potesil;-)