php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.05.2008, 03:07  
Neuer Benutzer
 
Registriert seit: 14.05.2008
Beiträge: 3
Mercator
Standard Seite mit Cache_Lite cachen. Query string

Hi,

ich habe folgenden code:

PHP-Code:
require_once 'Lite.php';
    
//Eine id für die zu cachende Datei
    
$id 1;
     
    
$options = array(
        
'cacheDir' => './cache/',
        
'lifeTime' => 3600
    
);
     
    
$Cache_Lite = new Cache_Lite($options);
     
    
//Prüfen ob schon eine Cache-Datei existiert
    
if (!$data $Cache_Lite->get($id)) {

        
ob_start();
    
        include 
"angebot.php";
           
        
$data ob_get_contents();
           
        
//Als cache Datei speichern
        
$Cache_Lite->save($data$id);
        
ob_get_clean();
    }
    return 
$data
Nun wird die Datei angebot.php auch gecached. Wie mache ich das aber, wenn ich noch einen Query-String anhängen will, z.B angebot.php?rubrik=xbox? Ich verwende Cache_Lite 1.7.3.
Mercator ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.05.2008, 07:43  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du kannst an include's keine Queries anhaengen, du kannst aber natuerlich einfach Werte in $_GET schreiben, was aufs gleiche rauskommt. Wenn du allerdings angebot.php nicht cachen willst oder nur bedingt cachen willst (je nach $_GET["rubrik"]) musst du dies eben mit in die ID einfliessen lassen.

Ich weiss jetzt nicht welchen Wert ID verlangt (nur Zahlen?) - aber versuchs doch mal mit $id = crc32($_GET["rubrik"]). Notfalls abs(), falls ID keine negativen Werte enthalten darf.

PS: Willkommen bei uns im Forum!
Zergling-new ist offline  
Alt 14.05.2008, 08:57  
Erfahrener Benutzer
 
Registriert seit: 27.08.2004
Beiträge: 239
vollkommenegal
Standard

Nicht ganz ON-TOPIC, aber da wir gerade dabei sind: Werden häufig frequentierte Dateien mittlerweile nicht sowieso schon automatisch vom APACHE in den Cache geschoben?

Ich hab gehört (und es so gelernt), dass man sich darum gar nicht mehr kümmern muss, weil der APACHE erkennt, was "wichtig" ist.

cya
vollkommenegal ist offline  
Alt 14.05.2008, 09:32  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Das waer bei dynamischen Skripten ziemlich unpraktisch
Zergling-new ist offline  
Alt 09.06.2008, 18:12  
Neuer Benutzer
 
Registriert seit: 14.05.2008
Beiträge: 3
Mercator
Standard

Vielen Dank für die schnellen Antworten.

Ich habe das von Zergling nicht so ganz verstanden, wie das konkret gemacht werden soll. Ich habe das jetzt so gemacht, dass ich erst prüfe ob die Seite schon im Cache liegt. Wenn nicht, dann wird die Seite normal ausgeführt und dann gecached. Vielleicht könntest du noch ein kleines Code-Beispiel bringen wie du das meintest, Zergling.

PHP-Code:

//.........

$fileName basename(__FILE__ "?$kategorie=" $rubrik "&start=$start");

$options = array('cacheDir' => './cache/',
                 
'lifeTime' => 7200);
                    
$cacheLite = new Cache_Lite($options);

//Gibt es diese Seite schon im Cache?

if($data $cacheLite->get($fileName)) {
//Ja. Also cache ausgeben  
echo $data;
} else {

//Nein also zeige die Seite ohne ungecached an

...

//Nun die Seite cachen
 
if(!isset($_GET['cache'])) {
    
$cacheLite->save(DataManager::createCache($fileName), $fileName);
  }

So sieht createCache aus:

PHP-Code:
public function createCache($datei) {
    
$fp fopen("http://www.meineSeite.de/$datei&cache=1"'r');
    
$dateiInhalt '';
    while(!
feof($fp)) {
      
$dateiInhalt .= fgets($fp);
    } 
    return 
$dateiInhalt;
  } 
Mercator ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bei richtiger Eingabe Daten an nächste Seite versenden xx_heidi_xx PHP Tipps 2008 49 27.05.2008 14:56
String aus einer Seite in Variable speichern KimKaye PHP Tipps 2008 10 14.05.2008 09:57
Krieg kein Objekt zurück auf includeter Seite NONNNNN PHP Tipps 2008 5 28.03.2008 19:25
Eintrag in DB und Wechsel zu anderer Seite Darson PHP Tipps 2008 25 14.01.2008 16:46
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
Welche seite (Adresse) rief die aktuelle seite auf? PHP Tipps 2005-2 7 05.07.2005 15:02
String von einer php seite an eine andere übergeben PHP Tipps 2005 4 01.06.2005 11:55
[Erledigt] Seite in Seite PHP-Fortgeschrittene 3 15.03.2005 19:27
Location String in printer friendly Seite mitgeben PHP Tipps 2004-2 14 09.12.2004 17:27
html seite mit string namen erstellen?? PHP Tipps 2004 3 16.09.2004 18:38
[Erledigt] Seite nicht cachen... bzw immer aktuell laden.. HTML, Usability und Barrierefreiheit 10 20.08.2004 14:37
Seite nicht mit content="3600" im Cache gespeicher scheibo PHP Tipps 2004 0 19.07.2004 14:49
[Erledigt] PHP Eine neue PHP seite automatisch öffnen PHP Tipps 2004 1 19.06.2004 12:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
cache_lite, query string erweitern php, php querystring erweitern, id mit query string senden php, cache_lite beispiele, string darf nur zahlen enthalten php, cache_lite -pear, php cache_lite

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.