Ausgabe von Abfrage in php schreiben

Malo

Send4Free.de
ID: 66899
L
20 April 2006
1.863
103
hallo ich kann per link abfragen wieviel SMS schon verschickt wurden.
DIese möchte ich gerne ausgeben lassen > möchte aber nicht bei jedem user aufruf, das gesamt abfragen lassen.

mein ziel ist es

www.linkzurabfrage.de alle 10min aufrufen > ausgabe der Zahl in eine eigene PHP schreiben

und diese php möchte ich dann ausgeben (das würd ich per include machen)

wie geht das am besten?

danke schon mal
 
alle 10 Minuten einen Link aufrufen?
klingt für mich nach nem Cronjob...
mit php allein dürfte das wohl nicht lösbar sein, da ja ein Script nur 30 Sekunden lang ausgeführt werden kann

MfG kbot
 
hi mit
<?php
echo getfile("https://www.xxxxxxxx.de/xxxxx_kontingent.php?id=meineID&action=rest", $timeout);
?>
rufe ich einfach nur kurz auf einem anderen server EINE zahl ab und geb diese aus.
Das passiert zur zeit aber halt jedesmal wenn ein user auf die page geht > sprich viele abfragen auf dem externen server.

nun möchte ich gerne den wert, der mir da ausgegeben wird, in eine datei auf meinem server schreiben.

uind dann möchte ich sie von Dort per include in meinem conten teinbinden lassen.

das Abrufen der aktuellen zahl vom externen server soll halt alle 3 oder 5 min passieren


hoffe hab das verständlich ausgedrückt ^^ :)

gruß
 
Dann Speicher doch das eingelesene mit der Zeit wann du die Daten das letzte mal geupdated hast und wenns länger als x Minuten her war liest du die Daten erneut ein.

Zb ein ganz einfacher ansatz ist du erstellst eine Datei in der du den Wert speicherst. Beim Aufruf der eigentlichen Seite prüfst du wann die Datei das letzte mal geändert wurde. (filectime()) Wenn das länger als x Minuten her ist hollst du dir die Daten von http und speicherst diese in der Datei. (damit ändert sich auch die ctime der Datei) Und dann liest du die besagte Datei einfach ein.

In Code:

PHP:
$file = 'dat.temp';
if(filectime($file)<time()-60*MINUTEN) {
    $new_time = getfile('http...'); //getfile?
    $fp = fopen($file,'w');
    fwrite($fp,$new_time);
    fclose($fp);
}

$sms_counter = file_get_contents($file);

etwas Optimiert:

PHP:
$file = 'dat.temp';
if(filectime($file)<time()-60*MINUTEN) {
    $sms_counter = getfile('http...'); //getfile?
    $fp = fopen($file,'w');
    fwrite($fp,$sms_counter);
    fclose($fp);
} else $sms_counter = file_get_contents($file);
 
@mbassus: ja

@zerO.

danke schon mal, aber wenn ich:

PHP:
<?php

$file = 'dat.temp';
if(filectime($file)<time()-60*1) {
    $sms_counter = getfile('https://www.smsgott.de/sms_kontingent.php?id=661&action=rest');
    $fp = fopen($file,'w');
    fwrite($fp,$sms_counter);
    fclose($fp);
} else $sms_counter = file_get_contents($file);  

echo $sms_counter;

?>
mache bekomm ich die meldung
Fatal error: Call to undefined function getfile() in /var/www/send4free.de/html/test12.php on line 5

:(
 
mache bekomm ich die meldung
Fatal error: Call to undefined function getfile() in /var/www/send4free.de/html/test12.php on line 5

:(

Deswegen hab ich da auch "//getfile?" dahinter geschreiben. Das hab ich einfach aus deinem Post übernommen:
Malo schrieb:
hi mit
<?php
echo getfile("https://www.xxxxxxxx.de/xxxxx_kontingent.php?id=meineID&action=rest", $timeout);
?>

Mach einfach file_get_contents draus...
 
ah ok, danke :)
der teil der hier fett gedruckt ist
steht die 1 für 1 minute(Sprich 60 Sekunden * 1 ) ??, oder wofür genau?

danke schon mal euch beiden!

if(filectime($file)<time()-60*1) {