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 09-04-2008, 15:08
trainmen
 Registrierter Benutzer
Links : Onlinestatus : trainmen ist offline
Registriert seit: Feb 2008
Beiträge: 49
trainmen ist zur Zeit noch ein unbeschriebenes Blatt
Standard Fonts in Linux

Ich habe ein Problem mit Fonts in Linux. Wenn ich die Fonts Van Helsing.ttf und TektonPro-BoldCond.otf unter einem Windows Server benutze hab ich damit keine Probleme. Aber wenn ich dies mit EInem Linux Server mache werden die SChriften nicht angezeigt.

Kann ich was machen damit damit es auch unter Linux geht?
Vielleicht was installieren oder die Fonts umändern?
Mit Zitat antworten
  #2 (permalink)  
Alt 09-04-2008, 15:30
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

WIE benutzt du sie denn? Und vor allem: Womit?
Mit Zitat antworten
  #3 (permalink)  
Alt 09-04-2008, 15:37
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die angezeigten Schriften sind ja vom Client abhängig, nicht vom Server. Ausser du brauchst sie innerhalb von Grafikfunktionen.
__________________
Gruss
H2O
Mit Zitat antworten
  #4 (permalink)  
Alt 09-04-2008, 20:15
trainmen
 Registrierter Benutzer
Links : Onlinestatus : trainmen ist offline
Registriert seit: Feb 2008
Beiträge: 49
trainmen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von H2O
Die angezeigten Schriften sind ja vom Client abhängig, nicht vom Server. Ausser du brauchst sie innerhalb von Grafikfunktionen.
Ja es hat mit Grafikfunktionen zu tun.

PHP-Code:
<?php

error_reporting
(E_ALL);
@
mysql_connect('''''') or die("Keine Verbindung zum Server!");
mysql_select_db('') or die("Datenbank nicht gefunden!");

if (!empty(
$_GET['char']))
    {
    
$sql "
         SELECT 
            c.guid, 
            c.name, 
            c.race, 
            c.class, 
            c.gender, 
            c.level, 
            c.skills, 
            c.online,
            gd.guildid, 
            gd.playerid,
            g.guildName
        FROM 
            characters c
        INNER JOIN
            guild_data gd ON gd.playerid = c.guid    
        INNER JOIN
            guilds g USING(guildId)
        WHERE 
            name = '" 
htmlspecialchars($_GET['char']) . "'";
            
    
$query mysql_query($sql) or die(mysql_error());
    
$row mysql_fetch_assoc($query);
    
$counter mysql_num_rows($query);

    if(
$counter == 0)
        {
        die(
"Char nicht vorhanden!");
        }
    else
        {
        
$name $row['name'];
        
$race $row['race'];
        
$classe $row['class'];
        
$gender $row['gender'];
        
$level $row['level'];
        
$skillstring $row['skills'];
        
$online $row['online'];

        
$guild "" $row['guildName'];

        if(
$race >= && $race <= 11)
            {
            
$im_ar = array('''Mensch_''Orc_''Zwerg_''Nachtelf_'
'Untoter_''Taure_''Gnom_''Troll_''''Blutelf_''Draenei_') or die("Rasse nicht spezifizierbar!");
            
$imag2 $im_ar[$race];
            
$im_ar = array('''Krieger_''Paladin_''Jaeger_''Schurke_',
 
'Priester_''''Schamane_''Magier_''Hexenmeister_''''Druide_') or die("Klasse nicht spezifizierbar!");
            
$imag3 $im_ar[$classe];
            
$im_ar = array('m.png''w.png') or die("Geschlecht nicht spezifizierbar!");
            
$imag4 $im_ar[$gender];
            }
            
        
Header("Content-Type: image/png");
        
        
$img ImageCreateFromPNG ('images/' $imag2 $imag3 $imag4);
        
$yellow ImageColorAllocate($img25521888);
        
$red ImageColorAllocate($img255188);
        
$black =  ImageColorAllocate($img000);
        
$font_1 "fonts/Van Helsing.ttf";
        
$font_2 "fonts/TektonPro-BoldCond.otf";
        
$size_1 10;
        
$size_2 19;
        
$size_3 9;
        
$size_4 18;
        
$banner_x 500;
        
$banner_y 167;
        
$banner_pos1 27;
        
        
//Charname
        
$banner_s1 imagettfbbox($size_20$font_1$name);
        
$char_font 500 - ($banner_pos1 $banner_s1[4]);
        
$charn_x $char_font;
        
$charn_y 134;
        
imagefttext($img$size_20$charn_x$charn_y$black$font_1$name);
        
imagefttext($img$size_20$charn_x 2$charn_y -2$yellow$font_1$name);
        
        
//Leveltext
        
imagefttext($img$size_10266164$black$font_2$level);
        
imagefttext($img$size_10265163$yellow$font_2$level);
        
        
//Gilde
        
$banner_s1 imagettfbbox($size_40$font_1$guild);
        
$char_font $banner_x - ($banner_pos1 $banner_s1[4]);
        
$guildn_x $char_font;
        
$guildn_y 164;
        
imagefttext($img$size_40$guildn_x$guildn_y$black$font_1$guild);
        
imagefttext($img$size_40$guildn_x 2$guildn_y -2$yellow$font_1$guild);

        
        
        if( 
stristr$skillstring ";" ) )
                {
                  
$skillType 1// new type
                  
$allparts explode";" $skillstring );
                }
        else
                {
                 
$skillType 0// old type
                 
$allparts explode" " $skillstring );
              }

            
$professions = array( 164 165 171 182 186 197 ,
 
202 333 393 755 );
            
$badprofessions = array( 65700657016570765718,
 
657226573365738658696592966291 );
            
$parts = array();
        
$newskillstring = array();
        
$skill_0 = array ();
        
$skill_1 = array ();


    
            for( 
$i 0$i count$allparts ) ; $i += )
                {
                  
$parts[$i] = $allparts[$i];
      
                  if( !isset( 
$allparts[$i+1] ) )
            
$parts[$i+1] = 0;
        
                  else
                    
$parts[$i+1] = $allparts[$i+1];
            
        
                  if( !isset( 
$allparts[$i+2] ) )
                    
$parts[$i+2] = 0;
            
                  else
            
$parts[$i+2] = $allparts[$i+2];
        

                  if( 
$skillType == )
                {
                        
$newskillstring[$i] = str_replace"\n" "" 
$parts[$i] . " " $parts[$i+1] . " " $parts[$i+2] );
                }
            else
                {
                        
$newskillstring[$i] = str_replace"\n" "" ,
 
$parts[$i] . ";" $parts[$i+1] . ";" $parts[$i+2] );
                }
            }
   
   
   
        
$beruf = array();
        
$endskill = array();

            foreach( 
$newskillstring as $key => $val )
            {
                  if( 
$newskillstring[$key] != "0 0 0" and $newskillstring[$key] != "0;0;0" )
                      {
                        if( 
$skillType == )
                    {
                              
$subparts explode" " $newskillstring[$key] );
                    
$skillid $subparts[0];
                    
$skill_00 $subparts[0];
                    
$skill_01 $subparts[1];
                    
$skill_0 = array ($skill_00);
                    
$skill_1 = array ($skill_01);
                    
$skilling array_combine($skill_0$skill_1);
                    }
                        else
                    {
                              
$subparts explode";" $newskillstring[$key] );
                    
$skillid $subparts[0];
                    
$skill_00 $subparts[0];
                    
$skill_01 $subparts[1];
                    
$skill_0 = array ($skill_00);
                    
$skill_1 = array ($skill_01);
                    
$skilling array_combine($skill_0$skill_1);
                      }

                        
//$skillid = $subparts[0] - 0x10000;

                
switch( $skillid )
                            {
                              case 
164:
                              
$beruf[] = "professions/Schmiedekunst.png";
                    
$endskill[] = $skilling[164];
                              break;
                              case 
165:
                              
$beruf[] = "professions/Lederverarbeitung.png";
                    
$endskill[] = $skilling[165];
                              break;
                              case 
171:
                              
$beruf[] = "professions/Alchemie.png";
                    
$endskill[] = $skilling[171];
                              break;
                              case 
182:
                              
$beruf[] = "professions/Kraeuterkunde.png";
                    
$endskill[] = $skilling[182];
                              break;
                              case 
186:
                              
$beruf[] = "professions/Bergbau.png";
                    
$endskill[] = $skilling[186];
                              break;
                              case 
197:
                              
$beruf[] = "professions/Schneiderei.png";
                    
$endskill[] = $skilling[197];
                              break;
                              case 
202:
                              
$beruf[] = "professions/Ingenieurkunst.png";
                    
$endskill[] = $skilling[202];
                              break;
                              case 
333:
                              
$beruf[] = "professions/Verzauberungskunst.png";
                    
$endskill[] = $skilling[333];
                              break;
                              case 
755:
                              
$beruf[] = "professions/Juwelenschleifen.png";
                    
$endskill[] = $skilling[755];
                              break;
                              default:
                              
$proficon "";
                    }

                @
$skill_0_pos imagettfbbox($size_30$font_2$endskill[0]);
                @
$skill_0_x =  16 - ($skill_0_pos[4] / 2);
                @
$skill_0_y 121;
                @
$beruf_0 imagecreatefrompng($beruf[0]);
                @
imagecopy($img$beruf_0486002222);
                @
imagefttext($img$size_30$skill_0_x$skill_0_y$black$font_2$endskill[0]);
                @
imagefttext($img$size_30$skill_0_x -2$skill_0_y 2$yellow$font_2$endskill[0]);
                }
            }
            
            if(@
$beruf[0] == @$beruf[1])
                
                    
"";
                
            else
                {
                @
$skill_1_pos imagettfbbox($size_30$font_2$endskill[1]);
                @
$skill_1_x =  42 - ($skill_0_pos[4] / 2);
                @
$skill_1_y 125;
                @
$beruf_1 imagecreatefrompng($beruf[1]);
                @
imagecopy($img$beruf_13191002222);
                @
imagefttext($img$size_30$skill_1_x$skill_1_y$black$font_2$endskill[1]);
                @
imagefttext($img$size_30$skill_1_x 2$skill_1_y 2$yellow$font_2$endskill[1]);
                }
        
ImagePNG($img);
        }
    }

?>

Geändert von trainmen (09-04-2008 um 20:54 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 09-04-2008, 21:13
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

Also Du bist noch neu hier, deshalb erstmal Willkommen. Aber die Code-Wüste muß nicht sein - hier reicht ein "Ja, ich benutze imageftttext() um die Schriften anzuzeigen" und generell tust du gut daran, dein Problem sehr genau zu beschreiben.

Als allererstes entferne mal die @s vor den Anweisungen, damit Du die Fehlermeldungen siehst. Grundsätzlich funktionieren TTF-Schriften unabhängig vom verwendeten System. Das Problem muß woanders liegen.

Ich wette ein Bier (via PayPal), daß es an der Groß- und Kleinschreibung der Fontdateien liegt:

PHP-Code:
$font_1 "fonts/Van Helsing.ttf";
$font_2 "fonts/TektonPro-BoldCond.otf"

Geändert von pekka (09-04-2008 um 21:17 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 09-04-2008, 23:03
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

OffTopic:
Finde ich ja ulkig das error_reporting hoch zu schrauben und anschließend jede Zeile wieder Fehler unterdrücken zu lassen
Mit Zitat antworten
  #7 (permalink)  
Alt 09-04-2008, 23:07
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Irgendwie ist das Mode die Fehlerausgabe der GD-Funktionen zu unterdrücken.
Mit Zitat antworten
  #8 (permalink)  
Alt 09-04-2008, 23:49
$_Baker
 Member
Links : Onlinestatus : $_Baker ist offline
Registriert seit: Feb 2008
Beiträge: 220
$_Baker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Leerzeichen im Dateinamen? Muss der nicht urlencode()´d sein?

Btw
OffTopic:
Das Script kommt mir vom Aufbau der Datenbank her bekannt vor, allerdings von einem Guildwars-bezogenen Script
Mit Zitat antworten
  #9 (permalink)  
Alt 10-04-2008, 00:07
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Leerzeichen im Dateinamen? Muss der nicht urlencode()´d sein?
Nicht im Dateisystem. Und selbst im Netz sollte das so gehen!
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

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

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
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
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:33 Uhr.