Avatar billede ljen Nybegynder
16. juli 2007 - 12:05 Der er 11 kommentarer og
1 løsning

Slideshow: Hent filnavne

Hej Eksperter

Jeg har et ganske velfungerende slideshow som kan vise billeder fra en given folder. Pt. skal slideshowet blot have info om billedernes sti (../images/billede_1.jpg, ../images/billede_2.jpg, osv.), samt en caption. det gøres pt. med 2 arrays:

NewImg = new Array(
"../images/Upload/Larke/112_1262.JPG",
"../images/Upload/Larke/112_1260_r1.jpg",
"../images/Upload/Larke/112_1257_r1.jpg"
);

NewCap = new Array (
"112_1262",
"112_1260_r1",
"112_1257_r1"
);

som defineres i slideshowets <head> section sammen med en masse anden kode som loader og viser billederne.

Jeg har nu brug for at siden selv går ind og læser hvilke billeder der ligger i en given folder og så genererer NewImg og NewCap for mig.

Går ud fra at jeg skal bruge noget php, men kan ikke rigtig komme i gang.
Avatar billede olebole Juniormester
16. juli 2007 - 15:28 #1
<ole>

Du kan evt. søge i PHP-kategorien (eller endnu bedre med Google's avancerede søgning). Jeg fandt dette spm, hvor der bliver skrevet links ud til billederne i en mappe. Du skal bare skrive et JavaScript-array ud, men du kan se, hvordan man får fat i fil-stierne:
    http://www.eksperten.dk/spm/781763

/mvh
</bole>
Avatar billede ljen Nybegynder
16. juli 2007 - 17:33 #2
Jeg har også noget php som kan hente stien, men jeg kan ikke rigtig få det til at virke - tænkte det var fordi jeg arbejder i <head> sectionen og ikke indenfor <body> - tagsene. Kan php virke under <head>?

Nu nærmer jeg mig jo at spørgsmålet skal ligge i en anden kategori... ;~)
Avatar billede olebole Juniormester
16. juli 2007 - 17:58 #3
Ja, det burde det egentlig  =)

PHP virker på serveren og skriver inhold ud til en virtuel tekstfil. Denne 'tekstfil' bliver sendte retur til brugerens browser. Først når 'filen' rammer browseren giver det mening at tale om tags og elementer. Indtil da er der tale om tekst. Derfor er PHP rystende ligeglad med, hvor der skrives i dokumentet.

Mon ikke, du kan bruge showsource's eksempel fra spm'et, jeg linkede til og lave det lidt om:

<?php

$dir = "upload/"; // Ret selv stien her til
$aArrA = array();
$aArrB = array();
    if(is_readable($dir)) {
        $d = dir($dir);
            while (false !== ($file = $d->read())) {
                if (is_file($dir ."/". $file)) {
            $aArrA[] = "\"" . $dir . $file . "\"";
                    $a = explode(".", $file);
            $aArrB[] = "\"" . $a[0] . "\"";
                }     
            }

        $d->close();
    }

?>

NewImg = new Array(
    <?=implode(",", $aArrA)?>
);
NewCap = new Array (
    <?=implode(",", $aArrB)?>
);
Avatar billede olebole Juniormester
16. juli 2007 - 18:00 #4
Prøv at skrive det i et dokument - upload og kald dokumentet i en browser. Så kan du tjekke koden i View -> Source (Vis -> Kilde) ... og det skulle gerne ligne dine egne arrays (omend, de står på én linje)
Avatar billede windcape Praktikant
16. juli 2007 - 18:09 #5
www.php.net/json_encode kunne også være optimalt implodes / prints
Avatar billede ljen Nybegynder
16. juli 2007 - 18:22 #6
He he... Havde lige glemt at omdøbe filen til .php, nu virker det fint - Smid lige et svar Ole så du kan få nogen point...
Avatar billede olebole Juniormester
16. juli 2007 - 18:27 #7
windcape >> er den kommet i en version, der ikke lækker memory?

ljen >> Gerne  ;o)
Avatar billede windcape Praktikant
16. juli 2007 - 18:30 #8
Olebole

"Changed JSON maximum nesting depth from 20 to 128. (Rasmus)"

Skal ikke kunne sige om det præcist har løst problemet (som jeg ikke har oplevet), men kunne forestille mig det.

Ellers Zend_Json =)
Avatar billede olebole Juniormester
16. juli 2007 - 18:40 #9
Næææhhhh ... pas nu lige på! Som jeg på et tidspunkt skrev til dig, så bruger  Zend_Json PHP5's funktioner, hvis disse er enabled - og ellers bruger den sine egne (som er det, vi under alle omstændigheder ønsker)  ;o)

Du skal helt ned og have fat i encode-filen i json-mappen inde i lib-mappen (kan ikke huske, hvad mappen præcist hedder - og jeg har den ikke liggende på denne PC). Du må endelig ikke bruge Zend's json-funktioner as-is ... så gør de ingen forskel  =)

Noget kunne dog tyde på, det er blevet rettet i sidste PHP5-build - men man skal nok lige sikre sig, det er dén, man har på serveren  =)
Avatar billede windcape Praktikant
16. juli 2007 - 23:21 #10
mm, jeg mente modificeret :p Kan skam godt huske det :)
Avatar billede olebole Juniormester
17. juli 2007 - 11:30 #11
fino  ;o)
Avatar billede olebole Juniormester
22. juli 2007 - 14:47 #12
Tak for points  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester