Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP jpGraph Cach löschen

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe einen Formular. Nach dem er ausgefühlt und auf Anschauen geklickt wird, wird eine Diagramm generiert.

Die werden für die Diagramm Erzeugung lese ich aus der DB.

in der HTML füge ich die Diagramm mit

require_once('http://.......');	

Beim erster Generierung der Diagramm funktioniert alles problemlos.

Das Problem ist:

beim zweiten Versuch, list er aus dem Cash die alte Diagramm (was eigentlich nicht sein sollte!!).

die Image.php :


require_once("../include/jpgraph/jpgraph.php");
require_once("../include/jpgraph/jpgraph_gantt.php");
require_once("../include/config.inc.php")

$link = dbConnect();
if($link){

// GRAPH-BREITE EINSTELLEN

# Basic graph erstellen + Projektname
$graph = new GanttGraph();

/* ALLES wie gewohnt */
...
...

// MYSQL TRENNEN
mysql_close($linkMS);

$graph ->StrokeCSIM(basename( __FILE__));

}[/PHP]

Ich weis es nicht worum es liegen kann, vermutte das jpGraph aus dem Cach die alte name des ImageMap list ( dem ich mit StrokeCSIM erstelle).

[b]Wie kann ich die jpGraph Image Cach löschen?[/b]

Versuche mal manuell den Browser Cache nach dem ersten Aufruf zu löschen und schaue mal was dann passiert. Selbst wenn der Cache auf 0 MB gestellt ist kann es durchaus ab und an passieren das Bilder nicht neu vom Server geladen werden.

Das kannst du eventuell erzwingen wenn du beim erzeugen des Bildes den Header noch etwas abänderst. Also etwas in Richtung einer Uhrzeit mit einbauen das er wirklich gezwungen wird das Bild neu zu laden.

Ich weis es leider nicht wie!

ich habe fersucht einen Timestamp in der Name einzubauen, bringt aber leider nichts:


DEFINE( "USE_CACHE", false);
DEFINE("READ_CACHE", false);

DEFINE( "CACHE_DIR", "/tmp/jpgraph_cache/");

...

$zeit = date("H:i s", mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")));
$graph = new GanttGraph($graphBreite, 0, "auto");
$graph->title->Set($selProNameZiel['projektname'].$zeit);
...
[/PHP]

????

Wie sollte es gehen verstehe ich nicht??

Ich meine das du den Header in der Image.php so veränderst das da ein aktuelleres Datum/Zeit drin steht als in dem Bild vorher. Eine Einführung in das Thema findest du im php Maunal[1].

Da findest du auch unter den User einträgen vom 15 Februar[2] eine Eintrag der für dich Interessant sein könnte.

[1] http://de.php.net/header

[2] http://de.php.net/manual/en/function.header.php#61903

Ich habe es gefunden!

Bis jetzt habe ich in der img.php Datei, also die Datei in der ich die jpGraph Diagramm generiere folgendes:

// Diagramm zurück schreiben
$graph ->StrokeCSIM(basename( __FILE__));[/PHP]

es soll aber anders gehen, und zwar:

[PHP]$graph->Stroke( "image001.png" );
echo $graph ->GetHTMLImageMap ("myimagemap001" );
echo "<img src=\"image001.png\" ISMAP USEMAP=\"#myimagemap001\" border=0>" ;

So behält man die Cach und alle $_SESSION´s und das Bilt wird immer frisch aus dem DB erneut gelesen und eingefügt !!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.