Ich habe folgendes ProblemPHP überspringt Funktionsaufruf Ausgang
require('drawchart.php');
if (file_exists('drawchart.php')){ cwrapper();}
Befehl 'chart.png' von cwrapper verwendet;
Der Cwrapper ist eine Funktion in der drawchart.php, die auf ein MySQL zugreift und ein Diagramm zeichnet. Diese Funktion funktioniert alleine und in einer test.php völlig einwandfrei, aber sie beendet die Erstellung des Diagramms in meinem Hauptprogramm und ich bin verblüfft, warum es dort einfach nicht funktionieren wird.
Ich habe versucht, einen Schlaf (30) einzuführen, um zu sehen, ob es warten muss, dass die Datei geschrieben wird, um erfolgreich zu sein. Aber das hilft auch nicht. Der folgende 2. Befehl nimmt niemals die Ausgabedatei chart.png auf. Verzeichnisse sind in beiden Fällen absolute Pfade, das ist also kein Problem.
Es wird zwar ein existierendes chart.png übernommen, aber eben nicht das aktualisierte, das vom if-Aufruf generiert werden soll. Es scheint diesen Aufruf an Cwrapper zu überspringen.
Der Cwrapper verwendet das Diagramm, um das Diagramm zu zeichnen. Und das macht es perfekt in einem Testskript.
Wie löse ich dieses Problem? Gibt es einen besseren Weg, dies zu erreichen?
Zunächst einmal sicher, dass die 'cwrapper()' Funktion ** ** wird aufgerufen. – axiac
Was meinst du? Echo etwas, das mir zeigt, dass es gelaufen ist? – NoobPython
Oder echo etwas auf dem 'else'-Zweig, um Sie wissen zu lassen, dass die' cwrapper() '-Funktion nicht aufgerufen wurde. Lesen Sie auch meine Antwort unten. – axiac