PHP Bildergallerie
Jonas Dinkelmann
- php
Hallo zusammen
Ich hab ein kleines Problem mit folgendem Code:
<?
$uploaddir = "includes/inhalt/j_pics/";
$erlaubteEndungen = ".gif,.jpg,.png";
$x = 0;
if ($handle = opendir($uploaddir)) {
while ($bild = readdir($handle)) {
$bildtyp = strrchr($bild, ".");
if($bildtyp)$bildtyp = strtolower($bildtyp);
$typerlaubt = strpos($erlaubteEndungen, $bildtyp);
if ($bild != "." && $bild != ".." && $typerlaubt === true){
$array[$x] = $bild;
$x++;
}
}
closedir($handle);
}
?>
Sorry, wollte noch nicht abschicken ;)
Das Problem liegt irgendwo bei "$typerlaubt = strpos($erlaubteEndungen, $bildtyp);"
irgendiwie gibt das immer FALSE zurück
Hallo Jonas,
...
if($bildtyp)$bildtyp = strtolower($bildtyp);
$typerlaubt = strpos($erlaubteEndungen, $bildtyp);
echo"<br>typerlaubt: $typerlaubt";
...
und strpos
Viele Grüße,
Jochen
Ich weis nicht genau was du meinst, aber wen ich $typerlaubt ausgebe kommt:
typerlaubt: 0
typerlaubt: 0
typerlaubt: 0
typerlaubt: 5
typerlaubt:
typerlaubt: 0
typerlaubt: 5
typerlaubt: 5
typerlaubt: 5
typerlaubt: 5
typerlaubt: 5
typerlaubt: 5
typerlaubt: 5
typerlaubt: 5
fals der Typ nicht im string vorhanden ist sollte die funktion ja false zurückgeben
...
if($bildtyp)$bildtyp = strtolower($bildtyp);
$typerlaubt = strpos($erlaubteEndungen, $bildtyp);
echo"<br>typerlaubt: $typerlaubt";
...
Ach soo, ich kann also nur überprüfen obs flase ist, nicht true :D
echo $begrüßung;
Ach soo, ich kann also nur überprüfen obs flase ist, nicht true :D
Ja, denn strpos() liefert eintweder einen Integer-Wert oder ein boolsches false. Ein true liefert es nicht, weswegen der typsichere Vergleich immer misslingt. Die Funktion var_dump() ist ein sehr gutes Hilfsmittel, um solch einem Fehler auf die Spur zu kommen, denn die gibt Inhalt und Typ einer Variablen oder des Ergebnisses eines Ausdrucks aus.
Alternative Vorgehensweisen:
(Galerie bitte nur mit einem l schreiben.)
echo "$verabschiedung $name";
Servus,
$erlaubteEndungen = ".gif,.jpg,.png";
Geeigneter wäre hier ein Array der erlaubten Endungen zu verwenden, also z.B.
[code=php]
$extensions = array(
'gif',
'jpg',
'png'
);
[/code]
Die Abfrage erledigst du dann einfach mittels in_array().
Gruss
Patrick