PHP soll Images steueren | Geht das?

Also stehts dann so da:

PHP:
IF($User-Agent-String == 'MSIE')
  $img = 'iebrowser.gif';
ELSEIF($User-Agent-String == 'FireFox')
  $img = 'ff.gif';
ELSEIF($User-Agent_string == 'Netscape')
  $img = 'netscape.gif';
ELSE
  $img = 'unknown.gif';

Oder seh ich da was falsch?
 
Ok, das ist so nicht korrekt.

Der ganze Ablauf, was passieren muss, damit du das erreichst, was du möchtest:
- Ein Besucher ruft deine Seite auf und übermittelt den User-Agent
- PHP fängt diese Informationen auf
- du fragst in deinen Script per PHP, wie der User Agent aussieht
- die schaust dir die kompletten User-Agent informationen an und schaust, welche Informationen drin stehen
- über IF Abfragen schaust du nach, welche Browser die Seite aufruft und gibt das entsprechende Bild aus

Jetzt zu dem, wie man das umsetzt:
Da du geschrieben hast, das bei dir der Fehler mit "browsercap.ini" kommt, weiss ich gerade nicht, was da der Fehler ist. Bei mir funktioniert das...

Einfaches anderes Beispiel:
Der Code
PHP:
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
gibt die Sachen aus wie:
- Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) <-- IE
oder
- Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.12) Gecko/20050919 Firefox/1.0.7 <-- FireFox

Wir schreiben jetzt diesen Text nicht auf den Bildschirm, sondern in eine Variable, also:
PHP:
<?php
$UserAgent = $_SERVER['HTTP_USER_AGENT'];
?>

Jetzt haben wir in der Variable einen von den beiden Strings stehen.
Wenn wir jetzt die Abfrage machen würden
PHP:
<?php
IF($UserAgent == 'MSIE')
  echo "Browser ist IE";
?>
Würde das nicht funktionien, da in der Variable $UserAgent nicht MSIE steht, sondern der gesamte String. ( MSIE ist nicht gleich "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) <-- IE", logisch oder?)

Also filtern wir jetzt in diesem String, ob dort das Wort MSIE (für den IE) vorkommt.
Dazu verwende ich die PHP Funktion eregi().
Was macht diese Funktion?
eregi -- Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung

Also, sieht das dann so aus:
PHP:
$UserAgent = $_SERVER['HTTP_USER_AGENT'];

IF(eregi('msie', $UserAgent) == TRUE)  
	$img = 'iebrowser.gif';
ELSEIF(eregi('firefox', $UserAgent) == TRUE)
	$img = 'firefox.gif';
ELSE
	$img = 'unknown.gif';
	
echo $img;

Bei diesem Testscript wird die dann am Ende der Wert der Variable $img ausgegeben um zu testen, was er nun gewählt hat.

Da du das ja in deiner Seite einbauen willst, muss der Wert von $img nachher im SRC Element von <img> stehen, also:

Code:
<!-- das ist jetzt HTML Code ! -->
<html>
<head>
</head>
<body>
<img src="<?php echo $img;?>" border="0">
</body>
</html>


Dasganze zusammengepackt sieht dann so aus:

Code:
<?php

$UserAgent = $_SERVER['HTTP_USER_AGENT'];

IF(eregi('msie', $UserAgent) == TRUE)  
	$img = 'iebrowser.gif';
ELSEIF(eregi('firefox', $UserAgent) == TRUE)
	$img = 'firefox.gif';
ELSE
	$img = 'unknown.gif';
?>

<html>
<head>
</head>
<body>
<img src"http://www.deinedomain.de/verzeichnis/zu/den/bildern/<?php echo $img;?>" border="0">
</body>

Dieses Beispiel als PHP Datei speichern und im Browser mal aufrufen. Angepasst werden muss noch der SRC teil im <img> Tag, nämlich das Verzeichnis zu den entsprechenden bildern.

Hoffe das klappt jetzt hier und ich habe keinen Fehler eingebaut.
Gruss und viel Spass damit :)
 
Zurück