PHP: Visa bild som finns i samma katalog som skriptet?

Permalänk
Medlem

PHP: Visa bild som finns i samma katalog som skriptet?

Jag har massor av olika kataloger. I varje katalog ligger det en jpg eller gif-fil.
Någon som vet hur jag kan göra med PHP för att visa bilden i katalogen?

Det ligger ju bara en bildfil i varje katalog, problemet är att filnamnet inte är detsamma hela tiden.

Permalänk
Medlem

Typ:

$rdi = new RecursiveDirectoryIterator("imageDirectory/"); foreach(new RecursiveIteratorIterator($rdi, 0) as $rii) { if(!$rii->isDir() && (substr($rii, 3, 3) == "jpg" || substr($rii, 3, 3) == "gif")) { echo "<img src=\"" . $path . "\">"; } }

Permalänk
Medlem

Tack för ditt svar. Dock så får jag et inte att fungera.

Jag försökte ändra
$rdi = new RecursiveDirectoryIterator("imageDirectory/");

till

$rdi = new RecursiveDirectoryIterator("./");

Men det vill sig inte iaf. Det kommer inte upp något felmeddelande.

Permalänk
Medlem

Hm. Försök med en fuling då:

$rdi = new RecursiveDirectoryIterator("../thisDir/"); ...

Permalänk
Medlem

Jag vet inte vad som orsakar ditt problem, men om det är så att din phpfil som ligger granne med bilden är INKLUDERAD, då kan kan du inte anropa bildfilen som om den ligger i samma katalog som det inkluderade scriptet, för inkluderad kod anses exekveras från den katalog som den anropade sidan ligger i.

alltså:

1: användaren har surfat till www.minsite.se/test.php
2: test.php inkluderar "./whatever/include.php"

include.php kan inte anropa "./bild.gif" om den ligger i whatever, eftersom aktiv katalog just nu är ./ eftersom det är där test.php ligger.

Om detta är ditt problem så får du i dina phpfiler ta fram sökvägen till just denna fil (som koden läses ifrån) och därmed ta fram en fungerande url.

Men ditt problem kan ju vara något helt annat.

Permalänk
Medlem

Jag inkluderade aldrig nåt. Allting kördes från samma fil.

Permalänk
Medlem

okej.

Kolla annars på dir i phpmanualen, den brukar jag använda iaf.

Permalänk
Medlem

Du kanske skulle kunna beskriva ditt problem litet mer ingående. Produceras IMG-taggen inte i outputen, eller visas inte bilden?

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607

Permalänk

$images = array(); $dir = opendir('./'); while (false !== ($obj = @readdir($dir))) if (preg_match('~\\.(jpg|gif)$~i', $obj)) $images[] = $obj; closedir($dir); if (isset($images[0])) echo '<img src="' . $images[0] . '" />';

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av vigge89

$images = array(); $dir = opendir('./'); while (false !== ($obj = @readdir($dir))) if (preg_match('~\\.(jpg|gif)$~i', $obj)) $images[] = $obj; closedir($dir); if (isset($images[0])) echo '<img src="' . $images[0] . '" />';

Det fungerade utmärkt! Stort tack!