PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : if Abfrage


davinci
01.12.2007, 11:24:53
Hallo folgendes kleines Problem:

Ich habe den folgenden Code:



$a = mysql_result($result, $i, "inhalt_pic");
$b = mysql_result($result, $i, "ID");
$c = mysql_result($result, $i, "name");
$d = mysql_result($result, $i, "flash");

// Test womit .swf Datei oder .jpg Datei angezeigt wird.
if ($d == 0) { $zeige_datei = "$dat_p1"; }
elseif ($d == 1) { $zeige_datei = "$dat_p2"; }



"inhalt_pic" kommt in dieser Form aus der DB: dateiname.jpg oder dateiname.swf

"flash" als 0 oder 1

Im Moment trage ich in der DB manuell ein ob es sich um eine .swf Datei oder .jpg Datei handelt ===>> Standard .jpg = 0 wenn .swf dann eine 1

Jetzt möchte ich aber in der if Abfrage nach der Dateiendung fragen um mir die 0 und 1 zu sparen. Wie kann ich unabhängig vom Dateinamen nur nach der Dateiendung fragen wenn der komplette Dateiname im Array angeliefert wird ? Denn der Dateiname ist jedesmal ein anderer...


if ($a == XXX.jpg) { $zeige_datei = "$dat_p1"; }
elseif ($a == XXX.swf) { $zeige_datei = "$dat_p2"; }

Danke für die Hilfe

Blade1965
01.12.2007, 11:43:27
<?php

$datei = 'datei.jpg';

$endung = explode(".", $datei);
$endung = $endung[1];

if($endung == 'jpg'){

mache was;

}
?>

vt1816
01.12.2007, 11:44:10
Oder:



if(substr($a, -4) == ".jpg"))
{ echo "tu dies";}
else
{ echo "tu das";"}

defabricator
01.12.2007, 15:07:51
Wobei eine Datei mit der Endung .jpg nastürlich trotzdem ein Flashgilm enthalten kann. Oder ein VBScript. Oder sonstwas. Wird der Inhalt der Datei irgendwo abgetestet? Zum Beispiel mit FileInfo (http://de.php.net/fileinfo)?

hoihoi
02.12.2007, 21:21:44
Hallo,

die Lösung von Blade1965 funktioniert nur, wenn sichergestellt ist, dass der Dateiname sonst keine Punkte enthält.
meine.datei.jpg würde nicht erkannt. Also vielleicht lieber die Variante von vt1816 verwenden.

hoihoi