PHP Updatescript aus anderer PHP Datei laufen lassen

R

r_

Gast
Hey Leute,

habe folgendes Problem:

eine php File namens runupdate.php bringt alle SQL Einträger einer DB auf den neuesten Stand (holt sich die Daten von einer anderen DB). Details dazu sind nicht weiter wichtig.

Ich möchte nun, dass wenn eine anderes PHP script namens post.php aufgerufen wird, dieses am Ende runupdate.php laufen lässt.

Habe leider lang nichts mehr mit PHP gemacht, daher frage ich hier besser als rat.

Wollte es jetzt so einbauen (news.php arbeitet mehrere cases ab):

Code:
case 'update':

//Runudpate
	
	fopen("../top15/runupdate.php","r");
	fclose("../top15/runupdate.php","r");
        echo "<p>DB entries successfully updated!</p>";

Wird es so funktionieren? Kann ich das eleganter lösen?

Alternative wäre ein Cronjob aufm Server, würde es aber lieber per PHP lösen.

Mersi schonmal :)
 
Ähm include()?
 
Da es ein Sprachkonstrukt und keine Funktion ist, würde ich auf die Klammern verzichten:

PHP:
include_once '../top15/runupdate.php';
 
Hat geklappt, danke.

Wie bewerkstellige ich es, wenn ich die Ausgabe der runupdate.php allerdings nicht in meiner neuen post.php haben will (quasi so, dass die runupdate.php nur im Hintergrund ausgeführt wird)?
 
Du kommentierst das echo aus. Wenn dein Updatescript nichts ausgibt, dann wird auch nichts angezeigt.
Ergänzung ()

Alternativ könntest du die Ausgabe in eine log Datei umleiten. Dann siehst du wenigstens, ob das Skript auch erfolgreich gelaufen ist.
$filehandle = fopen("pfad/zu/der/datei/logdatei.txt", a); öffnet oder erstellt, falls nicht vorhanden, eine Datei mit dem Namen logdatei.txt unter dem angegebenen Pfad. Der Dateizeiger wird am Ende der Datei platziert, sodass du deine Ausgaben dort angefügt werden.
fwrite($filehandle, "DB entries successfully updated!"); schreibt den Text dann in die Datei.
Dabei könntest du noch Datum und Uhrzeit voranstellen:
$date = date("d.m.Y");
$time = date("H:i");
fwrite($filehandle, "$date $time DB entries successfully updated!");
fclose($filehandle); schließt die Datei.
 
Zurück
Oben