Diskuze: Sleep v php
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj.
A proč tohle řešíš v PHP? Nemělo by se otáčení ATP řešit
JavaSriptem?
Pak by to bylo jednoduché, zavoal by jsi php funkci jako callback po
dokončneí animace, nebo jiné akci
Pokud je PHP nutnost pak by se to asi dalo řešit pomocí cyklu a data, jsou tam i nějaké timery jako http://php.net/….evtimer.php ale ty se mi moc nelíbí
a) V prohlížeči
PHP běží na serveru, ale jakmile se PHP skript dokončí, stránka se "načte" celá a již ji PHP neovlivníš.
Schéma načítání php stránky (přibližně)
• Prohlížeč pošle dotaz na server
• Spustí se PHP, je-li třeba
• Až PHP skončí (!), zobrazí se stránka (úplně)
=> Už se stránkou s PHP nic neuděláš
• Spustí se skripty v JavaScriptu, případně reagují nebo spouštějí PHP stejným způsobem ("AJAX", "XHR")
--
Takže sleepem to nevyřešíš, použij výše zmíněné XHR, AJAX (v jQuery to je $.get a $.post) v JavaScriptu, kterým spustíš další PHP.
--
A to bych zapomněl: V JavaScriptu použij window.setTimeout(cb, ms) pro počkání:
// kód
var cas = 10000; // Čas, který se bude čekat -- Zde 10 s (10000 ms)
setTimeout(function () {
$.post("adresaVyhodnoceni.php", {cisloKarticky: 123}, function (navrat) {
// Zpracujeme vrácený kód z adresy adresaVyhodnoceni.php
}
}, cas);
// kód
b) Na serveru (výjimečné případy)
Tato možnost je určena pro situace, kdy je třeba spustit ještě něco až se stránka načte v PHP. (ale stejně ji neovlivníme, viz písmeno a)
<?php
function shutdown()
{
// This is our shutdown function, in
// here we can do any last operations
// before the script is complete.
echo 'Script executed with success', PHP_EOL;
}
register_shutdown_function('shutdown');
?>
z http://php.net/…own_function |
V pořádku? |
Zobrazeno 4 zpráv z 4.