ebiz-webhosting
- Ad -
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! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-05-2006, 18:38
MarcoZap
 Newbie
Links : Onlinestatus : MarcoZap ist offline
Registriert seit: Aug 2005
Ort: Berlin
Beiträge: 13
MarcoZap ist zur Zeit noch ein unbeschriebenes Blatt
Standard Probleme mit GD library mit Texteingabe - header("Content-type: image/png")

hallo,

ich bin dabei, einen shirtcreator zu schreiben und habe eine alte version, die ich vor jahren mal mit freunden angefertigt habe wieder rausgekramt. dabei soll dem kunden die möglichkeit gegeben werden, einen text aufs shirt zu schreiben. ist denke ich klar.

nun habe ich beide shirtcreator (alt & neu) auf zwei verschiedenen servern... bei meinem alten funktioniert alles wunderbar, ich kann text eingeben und ich sehe ihn so, wie es sein soll!

bei meiner neuen version, die im prinzip nicht doll anders ist (nur an den xt shop angepasst) sehe ich keinen text, sondern ein leeres shirt. auch keine fehler...

wenn ich bei beiden in der header("Content-type: image/png") datei error_reporting(E_ALL) reinschreibe und das content-type auskommentiere und mir dann die grafik per rechte maustaste und "grafik anzeigen" anzeigen lasse, dann sehen sie beide identisch aus.

ich sitze seit tagen davor und mir fällt einfach nicht ein, woran es liegen kann!... hat partout einer eine spontane idee, woran es liegen kann?

danke und grüße,
marco
Mit Zitat antworten
  #2 (permalink)  
Alt 09-05-2006, 19:16
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Hmm...
Register_globals?
Unterschiedliche PHP-Versionen?

Als Erstes phpinfo()s vergleichen.
Mit Zitat antworten
  #3 (permalink)  
Alt 09-05-2006, 20:00
MarcoZap
 Newbie
Links : Onlinestatus : MarcoZap ist offline
Registriert seit: Aug 2005
Ort: Berlin
Beiträge: 13
MarcoZap ist zur Zeit noch ein unbeschriebenes Blatt
Standard

register_globals sind bei beiden servern jeweils auf on gesetzt...

die php versionen:

server, wo es funktioniert: PHP Version 4.4.2RC2-dev

server, wo es nicht funktioniert: PHP Version 4.4.2

gibts da große unterschiede?


die GD librarys:

server, wo es funktioniert:

gd
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled



server, wo es nicht funktioniert:

gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
Mit Zitat antworten
  #4 (permalink)  
Alt 10-05-2006, 10:04
MarcoZap
 Newbie
Links : Onlinestatus : MarcoZap ist offline
Registriert seit: Aug 2005
Ort: Berlin
Beiträge: 13
MarcoZap ist zur Zeit noch ein unbeschriebenes Blatt
Standard

weiß keiner einen rat?
Mit Zitat antworten
  #5 (permalink)  
Alt 10-05-2006, 10:31
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

evtl. holst du das bild aus dem cache? aber ohne die seite oder den code zu kennen, wird es schwierig, dir zu helfen.
__________________
-
Mit Zitat antworten
  #6 (permalink)  
Alt 10-05-2006, 10:42
MarcoZap
 Newbie
Links : Onlinestatus : MarcoZap ist offline
Registriert seit: Aug 2005
Ort: Berlin
Beiträge: 13
MarcoZap ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hier der code vom server, wo es nicht funktioniert! .. auf dem anderen sind lediglich die querys anders.

PHP-Code:
<?PHP
/*header("Content-type: image/png");*/

error_reporting(E_ALL);

include(
'includes/application_top.php');

$sid        $_GET['sid'];
$seite        $_GET['seite'];
$picture    $_GET['bild'];
$product    $_GET['pID'];

$queryTmp xtc_db_query("SELECT textfarbe1,textfarbe2,textfarbe3,textgroesse1,textgroesse2,textgroesse3,text1,text2,
text3,schrift1,schrift2,schrift3 FROM creator_tmp_param WHERE session='$sid' AND seite='$seite'"
);
$recordTmp xtc_db_fetch_array($queryTmp);

$queryFont1 xtc_db_query("SELECT file FROM creator_schriften WHERE id='$recordTmp[schrift1]'");
$recordFont1 xtc_db_fetch_array($queryFont1);
$schrift1 $recordFont1['file'];

$queryFont2 xtc_db_query("SELECT file FROM creator_schriften WHERE id='$recordTmp[schrift2]'");
$recordFont2 xtc_db_fetch_array($queryFont2);
$schrift2 $recordFont2['file'];

$queryFont3 xtc_db_query("SELECT file FROM creator_schriften WHERE id='$recordTmp[schrift3]'");
$recordFont3 xtc_db_fetch_array($queryFont3);
$schrift3 $recordFont3['file'];

(!
$recordTmp['textgroesse1']) ? $size1 15 $size1    $recordTmp['textgroesse1'];
(!
$recordTmp['textgroesse2']) ? $size2 15 $size2    $recordTmp['textgroesse2'];
(!
$recordTmp['textgroesse3']) ? $size3 15 $size3    $recordTmp['textgroesse3'];


$text1    $recordTmp['text1'];
$text2    $recordTmp['text2'];
$text3    $recordTmp['text3'];

$farbe1_firByte hexdec(substr($recordTmp['textfarbe1'],0,2));
$farbe1_secByte hexdec(substr($recordTmp['textfarbe1'],2,2));
$farbe1_thiByte hexdec(substr($recordTmp['textfarbe1'],4,2));

$farbe2_firByte hexdec(substr($recordTmp['textfarbe2'],0,2));
$farbe2_secByte hexdec(substr($recordTmp['textfarbe2'],2,2));
$farbe2_thiByte hexdec(substr($recordTmp['textfarbe2'],4,2));

$farbe3_firByte hexdec(substr($recordTmp['textfarbe3'],0,2));
$farbe3_secByte hexdec(substr($recordTmp['textfarbe3'],2,2));
$farbe3_thiByte hexdec(substr($recordTmp['textfarbe3'],4,2));


$querydruck xtc_db_query("SELECT breite,oben,links FROM products WHERE products_id='$product'");
$arrDruck xtc_db_fetch_array($querydruck);

$width_total getimagesize("http://www.unitedshop24.de/multishop/shop_files/1/images/
product_images/original_images/"
.$picture);

$topfirst $arrDruck['oben']+$size1;
$topsecond $topfirst+$size2+4;
$topthird $topsecond+$size3+4;

$left $arrDruck['links'];
$width $arrDruck['breite'];

$Grafikdatei "http://www.unitedshop24.de/multishop/shop_files/1/images/product_images/original_images/".$picture;

$im ImageCreateFromJPEG($Grafikdatei);
$color1 ImageColorAllocate ($im$farbe1_firByte$farbe1_secByte$farbe1_thiByte);
$color2 ImageColorAllocate ($im$farbe2_firByte$farbe2_secByte$farbe2_thiByte);
$color3 ImageColorAllocate ($im$farbe3_firByte$farbe3_secByte$farbe3_thiByte);

function 
TextBreite($texthöhe,$fontfile,$textzeile) { 
        
$ts imagettfbbox($texthöhe,0,$fontfile,$textzeile); 
        
$ts_diff $ts[2] - $ts[0]; // x2 - x1; 
        
return $ts_diff
}

function 
MZT($texthöhe,$fontfile,$textzeile,$farbe,$top,$left,$width) { 

    global 
$im
    
$TS imagettfbbox($texthöhe,0,"fonts/".$fontfile,$textzeile); 
    
$dx abs ($TS[2]-$TS[0]); 
    
$dy abs ($TS[5]-$TS[3]); 
    
$x = ((($left*2)+$width) - $dx )/2
    
//$y = ($top - $dy ) + $dy; 
    
ImageTTFText($im$texthöhe0$x$top$farbe"fonts/".$fontfile$textzeile); 



if(
$recordTmp['text1']) {

    
$laenge1 TextBreite($size1,"fonts/".$schrift1,$text1);
    while(
$laenge1 >= $width) {

        
$text1 substr($text1,0,-1);
        
$laenge1 TextBreite($size1,"fonts/".$schrift1,$text1);
        
ImageLine ($im$left$arrDruck['oben'], $left$arrDruck['oben']+$size1$color1);
        
ImageLine ($im$left+$width$arrDruck['oben'], $left+$width$arrDruck['oben']+$size1$color1);
    }

    
MZT ($size1,$schrift1,$text1,$color1,$topfirst,$left,$width);
}

if(
$recordTmp['text2']){

    
$laenge2 TextBreite($size2,"fonts/".$schrift2,$text2);
    while(
$laenge2 >= $width){

        
$text2 substr($text2,0,-1);
        
$laenge2 TextBreite($size2,"fonts/".$schrift2,$text2);
        
ImageLine ($im$left$arrDruck['oben']+$size1$left$topsecond$color2);
        
ImageLine ($im$left+$width$arrDruck['oben']+$size1$left+$width$topsecond$color2);
    }

    
MZT ($size2,$schrift2,$text2,$color2,$topsecond,$left,$width);
}

if(
$recordTmp['text3']){

    
$laenge3 TextBreite($size3,"fonts/".$schrift3,$text3);
    while(
$laenge3 >= $width){

        
$text3 substr($text3,0,-1);
        
$laenge3 TextBreite($size3,"fonts/".$schrift3,$text3);
        
ImageLine ($im$left$arrDruck['oben']+$size2$left$topthird$color3);
        
ImageLine ($im$left+$width$arrDruck['oben']+$size2$left+$width$topthird$color3);

    
MZT ($size3,$schrift3,$text3,$color3,$topthird,$left,$width);
}

ImagePNG ($im);
ImageDestroy ($im);
?>

//EDIT:

hier funktionierts:

http://www.marcokruger.de/blueprint/dev/index.php

einfach textilien, tshirts und shirt weiß ... entschuldigt die aufmachung.. *g ist der alte und wirklich nur zum testen da!

natürlich noch text eingeben


und hier funktionierts nicht:

http://shirtcreator-test.unitedshop2...D=454&div=text

Geändert von MarcoZap (10-05-2006 um 10:53 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 10-05-2006, 10:51
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

1. bitte code umbrechen => s. regeln

2. wie rufst du das bild in der seite auf?
3. hast du mal kontrollausgaben in der fkt MZT gemacht?
- werden alle werte übergeben?
- hast du eine ausgabe, wenn du einen text & font manuell einsetzt?
- hast du probiert, den font mit einem absoluten pfad anzusprechen?
__________________
-
Mit Zitat antworten
  #8 (permalink)  
Alt 10-05-2006, 10:55
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard


Warning: imagettfbbox(): Could not read font in /is/htdocs/67897/www.intermezzo-werbung.de/multishop/creator_artikelImg.php on line 70

Warning: imagettfbbox(): Could not read font in /is/htdocs/67897/www.intermezzo-werbung.de/multishop/creator_artikelImg.php on line 78

Warning: imagettftext(): Could not read font in /is/htdocs/67897/www.intermezzo-werbung.de/multishop/creator_artikelImg.php on line 83


ist das, was ich bekomme bei "grafik anzeigen"
__________________
-
Mit Zitat antworten
  #9 (permalink)  
Alt 10-05-2006, 10:55
MarcoZap
 Newbie
Links : Onlinestatus : MarcoZap ist offline
Registriert seit: Aug 2005
Ort: Berlin
Beiträge: 13
MarcoZap ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das bild rufe ich hier auf:


if($text1 || $text2 || $text3){

eval("\$textfile_bit.=\"".html_gettemplate("creator_textfile_bit")."\";");

}

creator_textfile_bit:

<div id='thumb_text1' style="top:135px; left:223px; filterropShadow(color=#CCCCCC, offx=2, offy=2)">
<img src='creator_artikelImg.php?pID=$product&sid=$sid&seite=$picture&bild=$pic' border='0'>
</div>

das andere probiere ich mal grad aus! danke
Mit Zitat antworten
  #10 (permalink)  
Alt 10-05-2006, 10:56
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

siehe einen post über deinem
__________________
-
Mit Zitat antworten
  #11 (permalink)  
Alt 10-05-2006, 10:57
MarcoZap
 Newbie
Links : Onlinestatus : MarcoZap ist offline
Registriert seit: Aug 2005
Ort: Berlin
Beiträge: 13
MarcoZap ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das bekomme ich schon gar nicht mehr angezeigt, habs dann wohl wirklich im cache zu liegen.

zeile 70:

$ts = imagettfbbox($texthöhe,0,$fontfile,$textzeile);

zeile 78:

$TS = imagettfbbox($texthöhe,0,"fonts/".$fontfile,$textzeile);

zeile 83:

ImageTTFText($im, $texthöhe, 0, $x, $top, $farbe, "fonts/".$fontfile, $textzeile);
Mit Zitat antworten
  #12 (permalink)  
Alt 10-05-2006, 11:16
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

- setz den absoluten pfad zum font ein, dann sollte es auch klappen
- erweitere die parameter-liste beim bildaufruf noch um einen timestamp, dann sollte das cache-problem auch weg sein
__________________
-
Mit Zitat antworten
  #13 (permalink)  
Alt 10-05-2006, 11:23
MarcoZap
 Newbie
Links : Onlinestatus : MarcoZap ist offline
Registriert seit: Aug 2005
Ort: Berlin
Beiträge: 13
MarcoZap ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich dank dir!

grüße ...
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

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

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