php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-03-2008, 21:30
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Question Problem mit Caching

Ich habe in meinen Dateien folgenden Code, der dafür sorgt, dass der nachfolgende Inhalt beim ersten Aufrufen in einer .tmp-Datei abgelegt wird, aus welcher er beim zweiten Aufrufen der Seite wieder ausgelesen wird. Das funktioniert sonst auch wunderbar, seit ich Änderungen an der Datei vorgenommen habe funktioniert es jedoch nicht mehr.

Die tmp-Datei wird zwar korrekt angelegt, allerdings kommt beim zweiten Aufruf folgende Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at /path/to/my/directory/test.php5:1) in /path/to/my/directory/test.php5 on line 10

Normalerweise wird dieser Fehler ja ausgegeben, wenn vor dem Senden des Headers etwas ausgegeben wird, das ist aber nicht der Fall.

PHP-Code:
<?php
    $id 
$_GET['id'];

    
// ------ Start Caching -----------------------
    // Header
    
ob_start();
    
$cache_file "cache/produkt/article_".$id.".tmp";
    
clearstatcache();
    if(
file_exists($cache_file)) {
        
header("content-lenght: ".filesize($cache_file));
        
readfile($cache_file);
    }
    else {
    
// ------ Ende Caching ------------------------
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
...
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #2 (permalink)  
Alt 10-03-2008, 21:57
TroX
 Registrierter Benutzer
Links : Onlinestatus : TroX ist offline
Registriert seit: Dec 2006
Ort: Schweiz
Beiträge: 156
TroX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich vermute ein Leerzeichen/Absatz/Tab vor dem öffnenden <?php -tag
__________________
Freedom is a state of mind. Not a state in which we live.

troxdev.ch | animefieber
Mit Zitat antworten
  #3 (permalink)  
Alt 10-03-2008, 22:00
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.724
Kropff befindet sich auf einem aufstrebenden Ast
Standard

sehr beliebt auch das bom. zieh dir ggf. mal das notepad++, das zeig das bom an.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #4 (permalink)  
Alt 10-03-2008, 22:05
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also die spitze Klammer des öffnenden PHP-Tags ist definitiv das erste Zeichen. Bin grad dabei mir Notepad++ zu installieren um nach dem bom(?) zu sehen.
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #5 (permalink)  
Alt 10-03-2008, 22:14
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Talking

Wow, ich bin beeindruckt! Du hast mir soeben gezeigt, wie ich mir 1 Stunde Fehlersuche hätte sparen können. Es lag tatsächlich an diesem "BOM". Sehr hilfreicher Tipp! Nochmals besten Dank an Peter
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #6 (permalink)  
Alt 10-03-2008, 22:16
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Achso, was ich jetzt noch fragen wollte: Wie kann ich mir das bom anzeigen lassen? Ich hab den Fehler jetzt nämlich einfach gelöst indem ich "Format -> Kodiere in UTF-8 (ohne BOM)" angeklickt habe.
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #7 (permalink)  
Alt 10-03-2008, 22:32
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.724
Kropff befindet sich auf einem aufstrebenden Ast
Standard

format -> kodiere in ansi. dann siehst du es.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #8 (permalink)  
Alt 23-07-2009, 10:40
tim-gt
 Registrierter Benutzer
Links : Onlinestatus : tim-gt ist offline
Registriert seit: Jun 2009
Beiträge: 52
tim-gt befindet sich auf einem aufstrebenden Ast
Standard

Ich möchte den Thread hier wieder aufgreifen, und zwar wurde das mit dem BOM ja von php.net als PHP Bugs: #22108: php doesn't ignore the utf-8 BOM erkannt.

Meine Dokumente werden im tsWebEditor alle als UTF8-kodiert abgespeichert und das soll auch so bleiben, hab keine Lust, alle Umlaute mit &uuml; und dem Zeug zu kodieren.

Ich verwende PHP 5.2.9-2. Nun soll es ja die Möglichkeit geben, PHP mit --enable-zend-multibyte zu kompilieren. Da ich das ganze per Windows Installer installiert habe, musste ich mich noch nie um solche Sachen kümmern. Ich habe nach längerer Suche einfach nirgends eine verständliche Anleitung gefunden, wie und wo ich (wahrscheinlich in der Windows-Kommandozeile) PHP im Nachhinein konfigurieren kann (abgesehen von der php.ini), und ist das überhaupt möglich und anzuraten? Ich möchte nicht auf PHP6 warten müssen.


EDITH: Ich habe doch noch eine Lösung gefunden, und zwar kann man im tsWebEditor glücklierweise die Option "Mit BOM speichern" deaktivieren. Dasselbe soll auch in Adobe DW möglich sein. Die Frage mit dem Kompilieren bleibt aber- gibt es irgendwo eine gute Anleitung dazu, wenn möglich auf Deutsch?

Geändert von tim-gt (23-07-2009 um 10:59 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 23-07-2009, 11:14
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Das kann alles sein... Aber es ist keine Empfehlung!

Klar kannst du dir dein propitäres PHP kompilieren. Aber deine Scripte werden sich dann darauf verlassen. Und sind damit nicht mehr portabel.

Zitat:
Meine Dokumente werden im tsWebEditor alle als UTF8-kodiert abgespeichert und das soll auch so bleiben, hab keine Lust, alle Umlaute mit &uuml; und dem Zeug zu kodieren.
Das eine hat mit dem anderen nix zu tun!

Aber wenn du wirklich unter Win dein PHP selber kompilieren willst, dann: PHP: internals:windows:stepbystepbuild [PHP Wiki]
__________________
Wir werden alle sterben
Mit Zitat antworten
  #10 (permalink)  
Alt 23-07-2009, 11:40
tim-gt
 Registrierter Benutzer
Links : Onlinestatus : tim-gt ist offline
Registriert seit: Jun 2009
Beiträge: 52
tim-gt befindet sich auf einem aufstrebenden Ast
Standard

Das hat doch schon etwas miteinander zu tun: Wenn ich dem Browser via meta-tags und php header() 100% mitteile, die Datei sei utf-8, sie aber als iso-8859-1 abspeichere, werden in der Datei eingegebene Umlaute ä ü etc. im Browser nicht oder falsch angezeigt. Um dies zu umgehen, müsste ich &uuml; &auml; etc. verwenden oder aber die Datei als utf-8 abspeichern. Wenn du mich fragst ein Zusammenhang.
Mit Zitat antworten
  #11 (permalink)  
Alt 23-07-2009, 11:47
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

oder konvertieren.. z.B. iconv()



Natürlich kannst du kein iso-xxxx in einem utf-8 Dokument einfach so ausgeben. Das wäre dumm! Klüger ist es sich auf einen Zeichensatz einzuschießen und grundsätzlich dabei zu bleiben.

Zitat:
mitteile, die Datei sei utf-8, sie aber als iso-8859-1 abspeichere,
Wenn du vor hast solche Böcke zu schießen (hätte ich dir nicht zugetraut), dann hilft dagegen auch kein PHP-kompilieren.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #12 (permalink)  
Alt 23-07-2009, 11:51
piratos
 Guest
piratos
Beiträge: n/a
Standard

Ich habe lange Zeit unter Windows den tswebeditor genutzt - eigentlich ein sehr guter Editor - bis ich immer wieder über den BOM stolperte den der Editor (weiss der Geier warum) dort rein gesetzt hatte.

Bin dann auf Pspad umgestiegen und das Thema war für mich erledigt.
Mit Zitat antworten
  #13 (permalink)  
Alt 23-07-2009, 12:07
tim-gt
 Registrierter Benutzer
Links : Onlinestatus : tim-gt ist offline
Registriert seit: Jun 2009
Beiträge: 52
tim-gt befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von combie Beitrag anzeigen
oder konvertieren.. z.B. iconv()



Natürlich kannst du kein iso-xxxx in einem utf-8 Dokument einfach so ausgeben. Das wäre dumm! Klüger ist es sich auf einen Zeichensatz einzuschießen und grundsätzlich dabei zu bleiben.


Wenn du vor hast solche Böcke zu schießen (hätte ich dir nicht zugetraut), dann hilft dagegen auch kein PHP-kompilieren.
Das war nur ein Beispiel. Ich habe vorher aber in der Tat nicht gewusst, ob und wo man einstellen kann, in welchem Format ein Editor wie DW abspeichert, und dachte, dies spiele gar keine Rolle, weil man dem Browser ja mitteilen würde... Ja, lassen wir das, anno dazumal hatte ich noch nicht viel Ahnung von Zeichenkodierung - was zugegebenermassen nicht das trivialste Thema ist.
Mit Zitat antworten
  #14 (permalink)  
Alt 23-07-2009, 12:08
tim-gt
 Registrierter Benutzer
Links : Onlinestatus : tim-gt ist offline
Registriert seit: Jun 2009
Beiträge: 52
tim-gt befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von piratos Beitrag anzeigen
Ich habe lange Zeit unter Windows den tswebeditor genutzt - eigentlich ein sehr guter Editor - bis ich immer wieder über den BOM stolperte den der Editor (weiss der Geier warum) dort rein gesetzt hatte.

Bin dann auf Pspad umgestiegen und das Thema war für mich erledigt.
Also in 2.2.20.79 kann ich das auf jeden Fall einstellen.
Mit Zitat antworten
  #15 (permalink)  
Alt 23-07-2009, 12:19
piratos
 Guest
piratos
Beiträge: n/a
Standard

Zitat:
Zitat von tim-gt Beitrag anzeigen
Also in 2.2.20.79 kann ich das auf jeden Fall einstellen.
Tja das dachte ich auch immer hat aber nicht regelmässig gefunzt.

Das waren so meine Erfahrungen.

Da die letzte Stable vom 20.6.2006 und die letzte Dev Version (Patch) vom 13.2.2007 ist war das für mich ein Grund mehr zu wechseln, da der Editor offenbar nicht mehr gewartete wird.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:43 Uhr.