PHP5 + .htaccess sollen mir bitte XML-Daten liefern - aber wie?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
club
code
datei
fehler
grund
header
http
image
input
level
mut
ordner
ordners
setting
string
text
url
wind
zeile
-
Hallo liebe Community!
Ich versuche folgendes Tutorial zu befolgen: http://forums.d2jsp.org/index.php?showtopic=22792192&f=272
Dazu habe ich jetzt schon die .php fertig bekommen (durch einen Generator, ich selbst kenne mich leider mit PHP im Grunde gar nicht aus). In dem Tutorial steht ich muss eine .htaccess Datei mit dem Inhalt
Options MultiViews
anlegen. Habe ich gemacht. dann habe ich meinen php-Code bearbeitet, und meine PNG in den selben Ordner hochgeladen. Trotzdem mag er die PHP-Daten nicht mit der PNG verknüpfen. Kann mir bitte jemand helfen, ich wäre ja sooo dankbar
Beste Grüße
cyphrex
PS: Hier die php
<?php header("Content-type: image/png"); header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); header("Expires: Thu, 19 Nov 1981 08:52:00 GMT"); header("Pragma: no-cache"); $data = simplexml_load_file("http://ladderslasher.d2jsp.org/xmlChar.php?i=151898"); $carr = array("none", "Fighter", "Barbarian", "Rogue", "Magician", "Guardian", "Samurai", "Paladin", "Monk", "Ninja", "Warlock", "Headhunter", "Alchemist"); $pwarr = array("sword" => array(0, 0), "club" => array(0, 0), "axe" => array(0, 0), "dagger" => array(0, 0), "staff" => array(0, 0), "longsword" => array(0, 0), "warhammer" => array(0, 0), "battleaxe" => array(0, 0), "spear" => array(0, 0), "polearm" => array(0, 0) ); $pcarr = array("ice" => array(0, 0), "fire" => array(0, 0), "light" => array(0, 0), "wind" => array(0, 0), "earth" => array(0, 0), "wild" => array(0, 0), "heal" => array(0, 0), "focused" => array(0, 0), ); $psarr = array("fish" => array(0, 0), "cook" => array(0, 0), "glyph" => array(0, 0), "mute" => array(0, 0), ); $charr = array(); $exp = $data->exp; $exp = (int)$exp; $cid = $data->classid; $cid = (int)$cid; if((string)$data->core==0) $core = "Softcore"; else $core = "Hardcore"; $pw = $data->wprof; $pc = $data->cprof; $ps = $data->sprof; if($pw!="") { $w = explode(";", $pw); for($i=0;$i<count($w);$i++) { $in = explode(",", $w[$i]); $f=0; foreach($pwarr as $key => $value) { if($in[0]==$f) { @$pwarr[$key][0] = (int)$in[1]; @$pwarr[$key][1] = (int)$in[2]; } $f++; } } } if($pc!="") { $c = explode(";", $pc); for($i=0;$i<count($c);$i++) { $in = explode(",", $c[$i]); $f=0; foreach($pcarr as $key => $value) { if($in[0]==$f) { @$pcarr[$key][0] = (int)$in[1]; @$pcarr[$key][1] = (int)$in[2]; } $f++; } } } if($ps!="") { $s = explode(";", $ps); for($i=0;$i<count($s);$i++) { $in = explode(",", $s[$i]); $f=0; foreach($psarr as $key => $value) { if($in[0]==$f) { @$psarr[$key][0] = (int)$in[1]; @$psarr[$key][1] = (int)$in[2]; } $f++; } } } $charr["name"] = (string)$data->name; $charr["class"] = (string)$carr[$cid+1]; $charr["core"] = $core; $charr["lvl"] = (string)$data->level; $charr["kil"] = (string)$data->kills; $charr["dea"] = (string)$data->deaths; $charr["lac"] = (string)$data->lastaction; $charr["str"] = (string)$data->strength; $charr["dex"] = (string)$data->dexterity; $charr["vit"] = (string)$data->vitality; $charr["int"] = (string)$data->intelligence; $charr["hpm"] = (string)$data->hpmax; $charr["mpm"] = (string)$data->mpmax; $charr["mqa"] = (string)$data->mqattempts; $charr["mqp"] = (string)$data->mqpasses; $charr["exp"] = $exp; $charr["w"] = $pwarr; $charr["c"] = $pcarr; $charr["s"] = $psarr; function perc($input, $edge=100) { $input = ($input/71)*$edge; if($input>$edge)$input=$edge; return (int)$input; } $table = array( "[name]"=>$charr["name"], "[core]"=>$charr["core"], "[class]"=>$charr["class"], "[level]"=>$charr["lvl"], "[exp]"=>$charr["exp"], "[kil]"=>$charr["kil"], "[dea]"=>$charr["dea"], "[str]"=>$charr["str"], "[dex]"=>$charr["dex"], "[vit]"=>$charr["vit"], "[hpm]"=>$charr["hpm"], "[mpm]"=>$charr["mpm"], "[mqa]"=>$charr["mqa"], "[mqp]"=>$charr["mqp"], "[tomq]"=>perc($charr["lvl"]), "[sword]"=>$charr["w"]["sword"][0], "[club]"=>$charr["w"]["club"][0], "[axe]"=>$charr["w"]["axe"][0], "[dagger]"=>$charr["w"]["dagger"][0], "[staff]"=>$charr["w"]["staff"][0], "[longsword]"=>$charr["w"]["longsword"][0], "[warhammer]"=>$charr["w"]["warhammer"][0], "[battleaxe]"=>$charr["w"]["battleaxe"][0], "[spear]"=>$charr["w"]["spear"][0], "[polearm]"=>$charr["w"]["polearm"][0], "[ice]"=>$charr["c"]["ice"][0], "[fire]"=>$charr["c"]["fire"][0], "[light]"=>$charr["c"]["light"][0], "[wind]"=>$charr["c"]["wind"][0], "[earth]"=>$charr["c"]["earth"][0], "[wild]"=>$charr["c"]["wild"][0], "[heal]"=>$charr["c"]["heal"][0], "[focused]"=>$charr["c"]["focused"][0], "[fish]"=>$charr["s"]["fish"][0], "[cook]"=>$charr["s"]["cook"][0], "[glyph]"=>$charr["s"]["glyph"][0], "[mute]"=>$charr["s"]["mute"][0] ); $image = ImageCreateFromPNG("./cyphrex/cyphrex.png"); //////////////////////////////// mqbar $forebg = imagecolorallocatealpha($image, 1, 205, 49, 0); $backbg = imagecolorallocatealpha($image, 255, 255, 255, 50); $borderbg = imagecolorallocatealpha($image, 0, 0, 0, 0); $kx = 36; $ky = 113; $kw = 113; $kh = 1; $expw = $kw*$charr["exp"]/70000000; if($expw > $kw) $expw = $kw; imagefilledrectangle($image, $kx, $ky, $kx+$expw, $ky+$kh, $forebg); //////////////////////////////// stuff $text = strtr("[int]", $table); $color = imagecolorallocatealpha($image, 1, 205, 49, 0); ImageTTFText($image, 9, 0, 142, 62, $color, "./Fonts/diablo.ttf", $text); $text = strtr("[dex]", $table); $color = imagecolorallocatealpha($image, 1, 205, 49, 0); ImageTTFText($image, 9, 0, 188, 29, $color, "./Fonts/diablo.ttf", $text); $text = strtr("[str]", $table); $color = imagecolorallocatealpha($image, 1, 205, 49, 0); ImageTTFText($image, 9, 0, 142, 29, $color, "./Fonts/diablo.ttf", $text); $text = strtr("[vit]", $table); $color = imagecolorallocatealpha($image, 1, 205, 49, 0); ImageTTFText($image, 9, 0, 188, 62, $color, "./Fonts/diablo.ttf", $text); $text = strtr("[mqa]", $table); $color = imagecolorallocatealpha($image, 150, 134, 82, 0); ImageTTFText($image, 16, 0, 280, 70, $color, "./Fonts/diablo.ttf", $text); $text = strtr("[class]", $table); $color = imagecolorallocatealpha($image, 155, 0, 0, 0); ImageTTFText($image, 9, 0, 53, 16, $color, "./Fonts/diablo.ttf", $text); $text = strtr("[mqp]", $table); $color = imagecolorallocatealpha($image, 150, 134, 82, 0); ImageTTFText($image, 16, 0, 56, 70, $color, "./Fonts/diablo.ttf", $text); $text = strtr("Level: [level]", $table); $color = imagecolorallocatealpha($image, 155, 0, 0, 0); ImageTTFText($image, 9, 0, 62, 134, $color, "./Fonts/diablo.ttf", $text); $text = strtr("[dagger]", $table); $color = imagecolorallocatealpha($image, 1, 205, 49, 0); ImageTTFText($image, 6, 0, 217, 141, $color, "./Fonts/sans.ttf", $text); $text = strtr("[axe]", $table); $color = imagecolorallocatealpha($image, 1, 205, 49, 0); ImageTTFText($image, 6, 0, 252, 141, $color, "./Fonts/sans.ttf", $text); $text = strtr("[fire]", $table); $color = imagecolorallocatealpha($image, 1, 205, 49, 0); ImageTTFText($image, 6, 0, 287, 141, $color, "./Fonts/sans.ttf", $text); $text = strtr("[focused]", $table); $color = imagecolorallocatealpha($image, 1, 205, 49, 0); ImageTTFText($image, 6, 0, 322, 141, $color, "./Fonts/sans.ttf", $text); imagepng($image); imagedestroy($image); ?>
Beitrag zuletzt geändert: 13.8.2009 12:59:04 von cyphrex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
cyphrex schrieb:
dann habe ich meinen php-Code bearbeitet, und meine PNG in den selben Ordner hochgeladen.
PNG und php-Skript liegen im gleichen Ordner? Dann solltest Du dies auch dem Skript mitteilen.
Statt dessen läßt Du das Skript jetzt in einem Unterordner suchen:
$image = ImageCreateFromPNG("./cyphrex/cyphrex.png");
Diese Zeile ersetzen durch:
$image = ImageCreateFromPNG("./cyphrex.png");
dann sollte es klappen.
FF -
Hmm, ändert leider nichts. Mich irritiert dieser "html" Ordner sehr, den man als vorgeschalteten Ordner im Filemanager nicht, via FTP Uploader jedoch sehr wohl sieht. wenn ich die Dateien nicht in den html-Ordner packe werden sie im Filemanager auch nicht angezeigt... Daher bin ich dann auch unsicher ob ich bei den Schriften ./html/Fonts/font.ttf oder ./Fonts/font.ttf eingeben soll. Wie dem jedoch im Eneffekt auch sei, es will einfach nicht klappen
Kannst du oder jemand anders mir verifizieren dass die .htaccess mit dem einzigen Inhalt
(wie in dem o.g. Tutorial beschrieben --> ganz am Ende des ersten Posts) vom Server hier angenommen wird? Soweit ich das verstehe ist das nämlich der Dreh- und Angelpunkt für das funktionieren der Umwandlung von php in png (oder so )Options MultiViews
-
Die beschriebene .htaccess ist überflüssig. Multiviews ist eigentlich für andere Zwecke gedacht.
Die Info, daß ein png folgt, gibt dein Script dem Browser selbst in den ersten Zeilen.
Der HTML-Ordner ist quasi das Stammverzeichnis deines Webspace bei Lima. Alles, was Du der Welt zeigen magst, muß unterhalb dieses Ordners liegen. Wenn Du den Filemanager startest, befindest Du dich bereits im Ordner html. Erkennst Du, wenn Du den Filemanager öffnest und dir mal die oberste Zeiele anschaust. ;)
Was gibt dein Script denn bisher überhaupt aus? Fehlermeldungen? Unerwarteten Content?
Kann man sich das mal in Aktion anschauen?
FF
-
Ja gerne, es zeigt mir halt bisher nur die png: http://cyphrex.lima-city.de/cyphrex/cyphrex.png
Es sollte jedoch eigentlich so aussehen: http://www.ls.dunaicapa.hu/149.jpg (das ist die gleiche png datei). der php-code liegt hier: http://www.ls.dunaicapa.hu/exphp5.php?id=149, und den möchte ich nun auf meinem webspace hosten... schön dass es helfer wie dich gibt, sonst wär ich schon längst verzweifelt
Beitrag zuletzt geändert: 13.8.2009 15:44:01 von cyphrex -
Das Skript ist, abgesehen davon, daß ein Wert fehlt, in Ordnung.
Guckst Du hier: http://fatfreddy.lima-city.de/pic.php
Sollte sich nur bei den verwendeten Schriftarten vom gewünschten Ergebnis unterscheiden. ;)
Hast Du beim Erstellen des Fonts-Ordners auf Groß-/Kleinschreibung geachtet? Im Skript lautet der Pfad "./Fonts/sans.ttf"
Struktur für das ganze project:
/html/ |_script.php (keine Ahnung, wie das bei dir heißt. Die Endung php ist aber wichtig!) | |_Fonts/ | |_sans.ttf | |_diablo.ttf | |_ cyphrex/ |_cyphrex.png
FF
Beitrag zuletzt geändert: 13.8.2009 16:31:25 von fatfreddy -
Huiii, ich bin aufgeregt - das sieht ja schon fast so aus wie es soll :)
Also bei mir sah die Struktur so aus:
(war im Tutorial so beschrieben, dass die Dateiendung .php5 sein sollte und das vor der Dateiendung dann in die Adresszeile des Browsers als http://host.domain/ordner/cyphrex.png eingegeben werden könne) - das ist wichtig, da ich die .png Endung brauche um das Ding in den [img]-bbCode-Tag setzen zu können/html/ | | |_Fonts/ | |_sans.ttf | |_diablo.ttf | |_ cyphrex/ |_cyphrex.png |_cyphrex.png.php5
Funktionierte aber nicht. Auch eine Änderung in
(jeweils auch mit Veränderung von $image = ImageCreateFromPNG("./cyphrex/cyphrex.png"); in ./cyphrex.png und zurück) brachte kein Ergebnis/html/ | |_cyphrex.png.php5 bzw. cyphrex.png.php | |_Fonts/ | |_sans.ttf | |_diablo.ttf | |_ cyphrex/ |_cyphrex.png
-
Stutz!
Funktioniert doch: http://cyphrex.lima-city.de/cyphrex.png.php
Die Ursache für den Fehler mit dem fehlenden Wert für [int] hab ich schon gefunden.
FF
Beitrag zuletzt geändert: 14.8.2009 10:31:19 von fatfreddy -
fatfreddy schrieb:
Stutz!
Funktioniert doch: http://cyphrex.lima-city.de/cyphrex.png.php
Die Ursache für den Fehler mit dem fehlenden Wert für [int] hab ich schon gefunden.
FF
Öhm, da habe ich gestern wohl kurzzeitig einen Knick in der Optik gehabt :P
Super, dann stimmt jetzt alles (den INT-Fehler habe ich auch gefunden), bis auf: aus irgend einem Grund macht er aus dem schicken, klaren, hintergrund-transparenten PNG (hier die Datei ohne php zum Vergleich: http://cyphrex.lima-city.de/cyphrex/cyphrex.png) dieses verzerrte Etwas... Ein Kumpel der mir versucht hat soweit er kann zur Seite zu stehen hat es auch nicht hinbekommen mit einem anders gecodeten Script (er hatte da eine Vorlage von sich) den Fehler zu beheben - weiss jemand was da falsch läuft (macht das Script die Bildanzeige kaputt oder ist was an der PNG korrupt)?
Beitrag zuletzt geändert: 14.8.2009 15:43:57 von cyphrex -
Gefällt es dir so besser?
http://fatfreddy.lima-city.de/pic.php
dann such bitte in deinem Skript diese Zeile:
$image=imagecreatefrompng("./cyphrex.png");
und füge darunter ein:
imagealphablending($image, true); // setting alpha blending on imagesavealpha($image, true); // save alphablending setting (important)
Dann klaptts auch mit dem Alphakanal.
FF -
fatfreddy schrieb:
Gefällt es dir so besser?
http://fatfreddy.lima-city.de/pic.php
dann such bitte in deinem Skript diese Zeile:
$image=imagecreatefrompng("./cyphrex.png");
und füge darunter ein:
imagealphablending($image, true); // setting alpha blending on imagesavealpha($image, true); // save alphablending setting (important)
Dann klaptts auch mit dem Alphakanal.
FF
oh mann das fehlen dieser 2 zeilen haben mich 2 ganze tage genervt - man mags kaum glauben
vielen dank!!! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage