[PHP] str_replace url zum xyz.jpg

fallout

Member
ID: 170849
L
10 Juni 2006
5
0
Hallo hab ein kleines problem mit einem server query script "squery" , welches den status einer meiner server ausgiebt , und per php auf meiner webseite eingebunden ist .

Das problem ist das der server dateinamen wie filename.irgendwas.txt - filename.nochwas.zip nicht mag und einen fehler anstat der datei ausgiebt.

eg

hxxp://webseite.de/script/images/maps/chrome/data/levelsnet/soilent/soilent.map.jpg

wuerde einen fehler ausgeben


Die function um die jpg datei passend zur laufenden map auf dem server zu finden ist recht einfach , und ich müsste eigentlich nur das .map irgendwie ausfiltern .. nur bin ich leider kein programierer .. habs schon mit str_replace probiert aber wie gesagt kein blassen schimmer

Ausschnit aus der main.lib.php
PHP:
function domappic($server)

{

global $libpath;
 $picpath="../images/maps/".$server->gamename."/".$server->mapname.".JPG";
 
$picpath=strtolower($picpath);

$picpath=$libpath.$picpath;

echo "<!-- ".$picpath."-->";

if (!file_exists($picpath)) $picpath=$libpath."../images/maps/unknown.gif";

return $picpath;

$picpath="../images/maps/".$server->gamename."/".$server->mapname.".JPG";
gibt den pfad zum bild bestehend aus dem spiel namen und dem der map .
Bei Chrome waehre das Chrome/Data/LevelsNet/Mapname/Mapname.map

$picpath=strtolower($picpath);
einmal alles kleinmachen bitte
data/levelsnet/soilent/mapname.map

$picpath=$libpath.$picpath;
Alles in einem topf schmeissen
picpath= pfadzumscript/..images/maps/chrome/data/levelsnet/mapname/mapname.map.jpg

echo "<!-- ".$picpath."-->";
raus damit.

if (!file_exists($picpath)) $picpath=$libpath."../images/maps/unknown.gif";
Wenn kein bild gefunden unknown.gif anstelle des mapbildes ausgeben

return $picpath;
Daten ans mainscript ausgeben?


Bisher habe ich folgendes probiert

PHP:
function replace($picpath) 

{
 $replacepicpath =  str_replace(".map", "<img src=\"/images/maps/chrome/data/levelsnet/\" border=\"0\" alt=\"\" title=\"\">", $picpath);

  return $replacepicpath;
 
}

und dann $replacepicpath an verschiedene teile der function angehängt (wusste ja nicht wo allso ueberall mal probiert )

auch habe ich versucht bei dem echo befehl echo $.picpath eine function anzuhängen .

PHP:
echo "<!-- "str_replace(.map.$picpath."-->";

Allso wie nun :roll: :-?

-
 
Du hast zwar sehr gut beschrieben, was du an Quellcode dahast, aber irgendwie hab ich noch nicht gerafft, was du eigentlich machen willst :think:
Was hast du ? Und was willst du ausgeben ?
Das problem ist das der server dateinamen wie filename.irgendwas.txt - filename.nochwas.zip nicht mag und einen fehler anstat der datei ausgiebt.
Äh ja ? Was für nen Fehler ? Ich hab noch von keinem Webserver gehört, der keine 2 Punkte in der URL verarbeiten kann :hö:
 
Ich weiß es auch nicht genau...

Wenn du von 'soilent.map.jpg' das '.map' weghaben willst geht es in etwa so:


PHP:
function replace($picpath) 
{
 $replacepicpath =  str_replace(".map", "", $picpath);

  return $replacepicpath;
 
}

Dann muss bei $picpath z.B. folgendes drinstehen:
hxxp://webseite.de/script/images/maps/chrome/data/levelsnet/soilent/soilent.map.jpg
Und das wir dann so ersetzt das das rauskommt:
hxxp://webseite.de/script/images/maps/chrome/data/levelsnet/soilent/soilent.jpg

Wobei bei dem Dateinamen das .map noch drinstehen würde und dann die Datei nicht existieren wird
 
Du hast zwar sehr gut beschrieben, was du an Quellcode dahast, aber irgendwie hab ich noch nicht gerafft, was du eigentlich machen willst :think:
Was hast du ? Und was willst du ausgeben ?Äh ja ? Was für nen Fehler ? Ich hab noch von keinem Webserver gehört, der keine 2 Punkte in der URL verarbeiten kann :hö:

Da kann man es sehen (an internal server error occured)
https://chasergame.org/chrome/serverquery/images/maps/chrome/data/levelsnet/soilent/soilent.map.jpg
Ka warum er das macht seh das auch zum ersten mal...

und hier nochmal ohne .map im dateinahmen
https://chasergame.org/chrome/serverquery/images/maps/chrome/data/levelsnet/soilent/soilent.jpg

Hier das script im einsatz
https://chasergame.org/chrome/server.php?name=SQuery&ip=62.141.58.165&port=27020&game=Chrome&block=0

Zum besseren Verständniss hier mal das komplette script (main.lib.php) Zeile: 556 bis 570 gibt die url zum bild aus , bestehend aus dem namen des spiels und des namens der map
function domappic($server)
function gametitle($gamename)
https://pastebin.com/844215

und hier die php datei die das ganze ausgiebt . Zeile 432
https://pastebin.com/844219