om de commandline te simuleren heb ik een scriptje geschreven wat hier uit bestaat:
file met 2 iframes
1. geeft de output van de commands weer
2. kun je de commands geven
op het moment dat je een command geeft post het bestand naar zichzelf en voegt een regel toe aan commands.txt
het is idee was: het bestand in het iframe (1.) die de output moet echoën heeft een oneindige loop en bekijkt telkens of de filegrootte verandert
dit is het loopje:
die functie die ik aanroep leest het laatste commando uit en print die naar het scherm. of beëindigd het geheel bij het juiste commando door dan False terug te geven (en wist de inhoud van die file).
Leuk bedacht....maar het werk niet.
Als ik een commando geef blijft ie gewoon laden, alsof de file niet verandert - en pas als ik 'm onderbreek door dat iframe te refreshen ziet ie het nieuwe commando staan.
Op 1 of andere manier, als ie de filegrootte eenmaal heeft bepaalt, wil ie er binnen dat script (loopje) niet meer aan dat dat misschien verandert.
Iemand een idee wat het is en hoe dit op te lossen? Ik zat zelf te denken aan een soort caching probleem, maar kon er niets over vinden
file met 2 iframes
1. geeft de output van de commands weer
2. kun je de commands geven
op het moment dat je een command geeft post het bestand naar zichzelf en voegt een regel toe aan commands.txt
het is idee was: het bestand in het iframe (1.) die de output moet echoën heeft een oneindige loop en bekijkt telkens of de filegrootte verandert
dit is het loopje:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| $file = "commands.txt"; $loep = True; while($loep) { if (!isset($filesize)) { if (file_exists($file)) $filesize = filesize($file); else $filesize = 0; $loep = exec_command($file); echo "not set - ".$filesize." -<br>\n"; flush(); } else { if (file_exists($file)) { $cur_filesize = filesize($file); if ($cur_filesize > $filesize) { $filesize = $cur_filesize; $loep = exec_command($file); echo "difference<br>\n"; flush(); } /* else { echo "no difference<br>\n"; flush(); } */ } } } |
die functie die ik aanroep leest het laatste commando uit en print die naar het scherm. of beëindigd het geheel bij het juiste commando door dan False terug te geven (en wist de inhoud van die file).
Leuk bedacht....maar het werk niet.
Als ik een commando geef blijft ie gewoon laden, alsof de file niet verandert - en pas als ik 'm onderbreek door dat iframe te refreshen ziet ie het nieuwe commando staan.
Op 1 of andere manier, als ie de filegrootte eenmaal heeft bepaalt, wil ie er binnen dat script (loopje) niet meer aan dat dat misschien verandert.
Iemand een idee wat het is en hoe dit op te lossen? Ik zat zelf te denken aan een soort caching probleem, maar kon er niets over vinden