JavaScript Blog

A PHP-ből soha nem lesz JavaScript

2022. június 05. - BATZOZOO

Azt hittem, hogy csempészhetek egy kis JavaScript feelinget a PHP-be, sajnos nemsikerült. Vagyis csak félig.

phplogo.jpg

PHP-ben akartam megoldani, hogy az itemek egy  ciklusból csak szép sorjában íródjanak ki a képernyőre. Tehát futás közben már renderelődjön is a tartalom a böngészőben.
Ennek tesztelésére készítettem egy rövid kódot:

<?php
 $date = new DateTime("now", new DateTimeZone("Europe/Budapest"));
for($i=0; $i<10; $i++){
 echo ($i + 1) ." - ". $date->format('Y-m-d H:i:s') . " OK <br />";
 sleep(1);
}

Ezt feltettem a ReplIt.Com-ra. [Link]
A kód itt szépen fut, úgy ahogy nekem jó is lenne. Tehát a PHP futása közben íródnak ki az echo parancsban a ciklus indexek, a dátum és az "OK". [Demo Replit.com]
Kezdtem is örülni, hogy ennek milyen szépen hasznát tudom majd venni egy éles alkalmazásnál, de sajnos itt jött a meglepetés. A saját szerverre feltöltve a kódot látom, hogy a PHP output kiíratása csak a ciklus lefutása után történik meg. [Demo Saját szerver]

A problémáról videót is készítettem, hogy jobban látható legyen, hogy mi is a probléma, mi is történik

 Lapozgattam a fórumokat különböző megoldások után, de sajnos egyik sem segített (ob_flush(), ob_start() és társai). A PHP.ini-ben az output_buffering-et Off állapotba tettem. Ez utóbbi sem segített sajnos.

Most ott tartok, hogy különböző fórumokon és blogokon feltettem a kérdést, hátha valaki segít majd.

Sajnos a a PHP nem JavaScript, ahol egy sima setInterval megoldaná az ilyesmit.

 

 

A bejegyzés trackback címe:

https://jscript.blog.hu/api/trackback/id/tr5517849161

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása