-HaavardH-
-
Innlegg
2 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Hendelser
Blogger
Om forumet
Innlegg skrevet av -HaavardH-
-
-
Prøv noe sånt som:
echo '<a href="Bilder/'.$image.'" data-lightbox="1"><img data-lightbox="1" src="Bilder_min/'.str_replace('.', '_min.', $image).'" /></a>'.PHP_EOL;
Har ikke testet denne, men det burde funke...
Ville brukt anførselstegnene omvendt av deg, " (doble) til HTML, og ' (enkle) til PHP. Kan ikke komme på hvorfor i farten, men jeg er sikker på det er en god grunn
Bruken av String Replace (str_replace) er kanskje ikke optimalt, men du trenger noe som kan føye til _min foran .jpg, så vi kan søke etter punktumet og erstatte det med noe annet.
edit:
Alternativt kan du bygge ut funksjonen med en scan av begge mappene i hvert sitt steg (Bilder og Bilder_min) og hatt en if inni foreach slik at du bare viser bilder som har en makker. Dvs, du tester om det finnes en miniversjon, har du glemt å lage den får du dermed ikke en død link, den bare hopper over akkurat den... og sier tydelig fra, som i eksempelet under
det ville blitt noe sånt som (pseudo-kode):
$errors = array(); foreach ($images as $image) { if (in_array(basename($image)).'_min', $thumbnails) { echo '...'; // Her putter du inn HTML'en din } else { $errors[] = $image; } } // Lag en liste til slutt over bilder som ikke har en miniversjon if (!empty($errors)) { foreach ($errors as $error) { echo 'Du har glemt å lage en thumbnail av '.$error.'!<br />'.PHP_EOL; } }
Ikke så effektivt, da det involverer et søk (in_array) for hvert eneste bilde. En raskere løsning vil være å slå sammen de to scanningene til ett array...
Lykke til!
- 1
[Løst] Hjelp til å skrive ut html-string med loop
i Programmering og webutvikling
Skrevet · Endret av -HaavardH-
Hei igjen!
Så bra at du fikk det til å fungere
Ikke dumt å lage til mappene så det fungerer med koden, men det er heller ikke så vanskelig å gjøre den litt om slik at du får en logisk mappestruktur også, f.eks:
Bilder
- Bilde1.jpg
- Bilde2.jpg
- Mini
-- Bilde1_min.jpg
-- Bilde2_min.jpg
Da kan du prøve denne kodesnutten her, hvor str_replace er bygd ut til å søke etter to forskjellige ting :
Igjen, jeg har ikke prøvd den ut, men det burde funke Endforeach; kan du stryke i så fall