Ok hab mal was gebastelt, bei mir hats funtkioniert.
Also du legst ein Verzeichnis an, dort wo der include Ordner index und admin.php sind, wie der heißt ist eigentlich egal, aber sowas wie rankimg sollte passen
Darin legst du folgende 2 Dateien an
index.php
<?php
define ( 'main' , TRUE );
require '../include/includes/config.php';
require '../include/includes/func/db/mysql.php';
require '../include/includes/func/escape.php';
function is_coadmin(){
return true;
}
$playername = escape($_GET['playername'], 'string');
session_name('rankimg');
session_start();
if (isset($_SESSION['rankimg'][$playername]) and !empty($_SESSION['rankimg'][$playername])) {
header('Location: '.$_SESSION['rankimg'][$playername]);
exit;
}
db_connect();
$qry = db_query("SELECT `rankimg` FROM `prefix_ranklinks` WHERE `playername` = '{$playername}' AND `lastchange` > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 1 DAY)");
if (db_num_rows($qry) == 1) {
$rankimg = db_result($qry, 0);
$_SESSION['rankimg'][$playername] = $rankimg;
header('Location: '.$rankimg);
exit;
} else {
//Rankimg herausfinden
$html = file_get_contents('http://commandandconquer.com/portal/site/cnc/stats?persona=CC_SUB:'.$playername);
//print '<pre>'.htmlentities($html).'</pre><hr />';
if (preg_match('%<div class="username">\s*Unknown User\s*</div>%', $html) != 0) {
echo 'Kein gültiger Benutzername';
exit;
}
if (preg_match('%<div class="shield01"><img src="(.*)" width="64" height="64" ></div>%', $html, $matches) == 1) {
$rankimg = 'http://commandandconquer.com'.$matches[1];
db_query("INSERT INTO prefix_ranklinks (`playername`, `rankimg`) VALUES ('{$playername}', '{$rankimg}') ON DUPLICATE KEY UPDATE `rankimg` = '{$rankimg}'");
$_SESSION['rankimg'][$playername] = $rankimg;
header('Location: '.$rankimg);
exit;
} else {
echo 'Rankbild nicht gefunden';
exit;
}
}
?>
und eine
.htaccess
RewriteEngine on
RewriteRule ^(.*).png$ ./index.php?playername=$1
Weiter führst du noch folgenden Code mit phpmyadmin aus, wobei du das Prefix ggf. anpassen musst.
CREATE TABLE `ic1_ranklinks` (
`playername` VARCHAR( 50 ) NOT NULL ,
`rankimg` VARCHAR( 150 ) NOT NULL ,
`lastchange` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( `playername` )
) ENGINE = MYISAM
Danach solltest du das Rankbild mit deineadresse.de/ordnername/Kittie.png verlinken können.