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 Bewertung: Bewertung: 6 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 07-05-2013, 22:38
MnasT
 Registrierter Benutzer
Links : Onlinestatus : MnasT ist offline
Registriert seit: May 2013
Beiträge: 8
MnasT befindet sich auf einem aufstrebenden Ast
Standard Ausgabe im Browser imagepng()

Bei folgendem Problem geht es nicht darum, ob das Script in Ordnung ist oder nicht.
Das hier habe ich aus einem Buch (die Datei war auf der CD).
PHP-Code:
  $im imagecreate(150,100);
  
$grau imagecolorallocate($im192192192);
  
imagefill ($im00$grau);

  
header("Content-Type: image/jpeg");
  
imagejpeg($im);

  
imagedestroy($im); 
Wenn ich die Datei unter localhost im Firefox aufrufe funkt es. Und jetzt kommt's:
Anfangs dachte ich, dass ich mich irgendwo vertippt habe und habe deshalb den Code von der Originalseite aus dem Buch in meine Seite kopiert und im Browser aufgerufen. Und es kommt:
"Die Grafik "http://localhost/php/.." kann nicht angezeigt werden, weil sie Fehler enthält"
Habe es mit utf-8 mit und ohne Bom bei abspeichern probiert, aber es ändert sich nichts.

Vereinfacht: Obwohl beide Dateien den selben Inhalt haben, funktioniert eine (uebung.php) aber die andere (pic.php) nicht

Wen es interessiert ich habe die beiden inhaltlich identischen Dateien im Anhang hochgeladen. Mich würde interessieren, ob das nur bei mir so ist und wenn ja warum.. Auf Php.net habe ich in die Richtung zwar schon einiges gefunden, aber die Ratschläge z.B. nicht als utf-8 speichern usw. haben nichts gebracht.
In der Php-Logfile steht.

Warning: header() expects parameter 1 to be string
Aber warum geht es dann bei der einen Datei und bei der anderen nicht?

Angehängte Dateien
Dateityp: zip imagecreate.zip (485 Bytes, 22x aufgerufen)
Mit Zitat antworten
  #2 (permalink)  
Alt 08-05-2013, 09:09
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

es gibt einen unterschied zwischen deinen beiden dateien.
die eine datei (pic.php) ist um 3byte größer als die andere.

wenn ich den inhalt der pic.php in eine neue datei kopiere ändert sich auch die größe und es funktioniert wieder.

und zwar ist da ein unterschied am anfang der datei.
vi sagt das die pic.php im dos format ist und ich denke genau da liegt dein problem ;-)
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #3 (permalink)  
Alt 08-05-2013, 14:09
MnasT
 Registrierter Benutzer
Links : Onlinestatus : MnasT ist offline
Registriert seit: May 2013
Beiträge: 8
MnasT befindet sich auf einem aufstrebenden Ast
Standard

Hallo Uzu,

Ja stimmt, der Größenunterschied ist mir dann auch noch aufgefallen, aber konnte nicht herausfinden warum.
Mit welchem Editor hast du dann die Datei wieder abgespeichert?
Ich war gestern schon verzweifelt, nachdem ich es mit Notepad++, Windows Texteditor, und sublime probiert hatte, aber sich nichts änderte.

Dann frage ich mich warum das nur bei der Ausgabe von Bilddateien so heikel ist. was mir auch aufgefallen ist: Bei einem anderen Beispiel wurde das Bild auch als fehlerhaft ausgegeben als ich die Leerzeile nach <?php entfernte ging's auf einmal.

Sowas kann ich nicht einfach gut sein lassen, auch wenn etliche Stunden dabei draufgehen. :-)
Hätte gerne eine logische Erklärung, sonst wird das Programmieren mit GD zum Lotteriespiel...

Gruß,
MnasT
Mit Zitat antworten
  #4 (permalink)  
Alt 08-05-2013, 15:00
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

ich nutze aptana studio als IDE und selbst mit notepad (dem von windows) gehts ohne probleme.
solange du keine sonderzeichen in deinem quellcode hast kannst du auch ruhig alles in ansi abspeichern, sonst eben utf8.
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #5 (permalink)  
Alt 08-05-2013, 16:01
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MnasT Beitrag anzeigen
Dann frage ich mich warum das nur bei der Ausgabe von Bilddateien so heikel ist.
Wenn Du die pic.php ungeparst im Browser aufrufst und im Browser bei Ansicht Windows-1252 wählst, dann ist der Fehler richtig gut zu sehen.

PHP-Code:
<?php
Es ist dieser (oder dieses, ich sag immer der) BOM und der würde auch beim Start von Session und bei Weiterleitungen zu Fehlern führen und zwar überall dort, wo vorher keine Ausgabe von Zeichen (auch keinen Leerzeichen) erfolgen darf.

Byte Order Mark ? Wikipedia

Edit: Im FF aufrufen, habe ich vergessen zu erwähnen, im IE geht es nicht und mit dem Chrome weiß ich nicht, wie die Zeichenkodierung wechseln.

Geändert von Melewo (08-05-2013 um 16:10 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 08-05-2013, 18:19
MnasT
 Registrierter Benutzer
Links : Onlinestatus : MnasT ist offline
Registriert seit: May 2013
Beiträge: 8
MnasT befindet sich auf einem aufstrebenden Ast
Standard

Hi Melewo,
Verstehe..
Ich verwende ohnehin nur FF. Die Ansicht läßt sich aber, wenn ich eine php-Seite unter localhost offen habe, nicht ändern.
Siehe Screenshot im Anhang.
Also Zusammenfassend: Keine Leerzeichen vor <?php und header()
und nur mit utf-8 ohne BOM..
korrekt?
Miniaturansicht angehängter Grafiken
Ausgabe im Browser imagepng()-unbenannt.jpg  
Mit Zitat antworten
  #7 (permalink)  
Alt 08-05-2013, 19:51
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Melewo Beitrag anzeigen
Wenn Du die pic.php ungeparst im Browser aufrufst und im Browser bei Ansicht Windows-1252 wählst, dann ist der Fehler richtig gut zu sehen.
Zitat:
Zitat von MnasT Beitrag anzeigen
Die Ansicht läßt sich aber, wenn ich eine php-Seite unter localhost offen habe, nicht ändern.
Wenn Du die pic.php ungeparst im Browser aufrufst, also nicht über "http://localhost/pic.php" sondern über "C:/xampp/htdocs/pic.php", dann lässt sich die Ansicht ändern.

Edit: Bei der aus dem Zip-Archiv, bei der anderen, bei der die Auslieferung richtig klappt, nicht. Bei der kannst Du dann auch die Zeichenkodierung nicht mehr ändern, wenn die sich über Localhost aufrufen lässt, denn die ist ja dann ein Bild-JPG und wird mit einem Image-Header ausgeliefert.

Geändert von Melewo (08-05-2013 um 20:18 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 08-05-2013, 22:18
MnasT
 Registrierter Benutzer
Links : Onlinestatus : MnasT ist offline
Registriert seit: May 2013
Beiträge: 8
MnasT befindet sich auf einem aufstrebenden Ast
Standard

ja habe den fehler jetzt gesehen.
damit, dass vor dem <?php kein leerzeichen sein darf hast du vollkommen recht.
was natürlich ein problem ist, wenn man das bild z.b irgendwo im html-bereich ausgeben möchte, dann muss man die datei, die das bild erzeugt auslagern
<img src="image.php" alt="" />
Mit Zitat antworten
  #9 (permalink)  
Alt 09-05-2013, 17:53
MnasT
 Registrierter Benutzer
Links : Onlinestatus : MnasT ist offline
Registriert seit: May 2013
Beiträge: 8
MnasT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von UzumakiNaruto Beitrag anzeigen
ich nutze aptana studio als IDE und selbst mit notepad (dem von windows) gehts ohne probleme.
solange du keine sonderzeichen in deinem quellcode hast kannst du auch ruhig alles in ansi abspeichern, sonst eben utf8.
optisch gefällt mir aptana schon sehr gut, auch die große auswahl an themes ist cool, aber da ich noch anfänger bin, war mir aptana zu schwer zum konfigurieren.

nach langem hin uns her, bin ich mal vorläufig bei scriptly geblieben. ich finde die vorschaufunktion super. man kann den browser vom hauptfenster lösen und er bleibt immer offen. (siehe screenshot)

gruß
StanM
Miniaturansicht angehängter Grafiken
Ausgabe im Browser imagepng()-scriptly.jpg  
Mit Zitat antworten
  #10 (permalink)  
Alt 09-05-2013, 23:13
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Passt zwar nicht zum Thema, aber wenn du Anfänger bist, solltest du es nicht falsch lernen, sondern gleich richtig.

"var" stammt noch von PHP 4 und ist heute nicht mehr zu verwenden. Nimm stattdessen private, protected oder public. Das selbe gilt für Funktionen. Immer als private, protected oder public deklarieren. Wenn nichts davor steht, ist es zwar automatisch public, aber wegen der Lesbarkeit sollte man es trotzdem hinschreiben.
Mit Zitat antworten
  #11 (permalink)  
Alt 10-05-2013, 09:20
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

und benutze lieber den firefox da du den mit einigen plugins aufbohren kannst und du hast super tools zur hand wenn mal irgendwo dein html/css/js nicht das macht was es sollte.

firebug
live http headers
html validator
web developer

unter win xp habe ich gerne webcraft benutzt, war schlank, fix und ganz nice .. leider kein autocomplete.
wird aber schon lange nicht mehr weiter entwickelt und dadurch gibts bei win7 eher probleme.

soviel gibts bei aptana gar nicht einzustellen.

ein workspace einrichten, seine projekte rein und schon kann es losgehen.
evtl das syntax highlighting den eigenen wünschen anpassen.

mehr braucht man zuhause nicht, als richtiger entwickler brauchst du natürlich viel mehr funktionen ;-)
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #12 (permalink)  
Alt 10-05-2013, 15:13
MnasT
 Registrierter Benutzer
Links : Onlinestatus : MnasT ist offline
Registriert seit: May 2013
Beiträge: 8
MnasT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
"var" stammt noch von PHP 4 und ist heute nicht mehr zu verwenden. Nimm stattdessen private, protected oder public. Das selbe gilt für Funktionen. Immer als private, protected oder public deklarieren. Wenn nichts davor steht, ist es zwar automatisch public, aber wegen der Lesbarkeit sollte man es trotzdem hinschreiben.
Thanks..
Habe unlängst einen Php-Crashkurs gemacht - da hatten wir das eh mit public, private und protected gelernt. Das Beispiel auf dem Screenshot hatte ich gerade zufällig offen - und das war aus einem uralten Buch. nur die Eigenschaft ohne entweder 'var' oder public etc. funktioniert eh nicht

Gruß,
MnasT
Mit Zitat antworten
  #13 (permalink)  
Alt 10-05-2013, 15:31
MnasT
 Registrierter Benutzer
Links : Onlinestatus : MnasT ist offline
Registriert seit: May 2013
Beiträge: 8
MnasT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von UzumakiNaruto Beitrag anzeigen
und benutze lieber den firefox da du den mit einigen plugins aufbohren kannst und du hast super tools zur hand wenn mal irgendwo dein html/css/js nicht das macht was es sollte.

firebug
live http headers
html validator
web developer

soviel gibts bei aptana gar nicht einzustellen.
Hi Uzu,

Nutze normal eh nur Firefox, aber bei Scriptly funktioniert FF nicht als interner Browser, deshalb Ie.

live http headers habe ich mir gerade installiert - cool
die anderen hatte ich schon.

@soviel gibts bei aptana gar nicht einzustellen.
naja :-) wie mans nimmt.
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe des Browser und Betriebssystems in eMail. paycoman PHP Developer Forum 5 28-01-2007 15:56
Ausgabe im Browser anpassen netleader PHP Developer Forum 4 28-09-2004 14:53
Ausgabe im Browser nach 4 Datensätzen neue Zeile netleader PHP Developer Forum 1 11-09-2004 15:33
Ausgabe von printf nicht an Browser senden sondern in Variable speichern? Yooda PHP Developer Forum 2 20-07-2004 09:46
imagepng BlackICE PHP Developer Forum 1 01-07-2003 05:58

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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:23 Uhr.