Mira Skrevet 23. januar 2005 Del Skrevet 23. januar 2005 Driver på med Russesiden vår. Der skal jeg ha en kolonne som henter fram profilen til et tilfeldig medlem. Profilene er lagret som egne HTML dokumenter, av typen "profiler/navn.html". Det jeg trenger nå er et script som viser en tilfeldig profil, altså hver gang siden laster. Noen som kunne hjulpet meg med det? Lenke til kommentar
dostojevski Skrevet 23. januar 2005 Del Skrevet 23. januar 2005 Løsning i pseudokode: new array profiler[] i=0 for each file in /profiles as profil profiler[i] = profil i++ end for show_page_nr = round(random() * profiler->size) show_page = profiler[show_page_nr] output(show_page) Dette er vel den enkleste løsningen. Skal legge meg nå, så jeg orker ikke skrive et skikkelig kodeeksempel. Lykke til! Lenke til kommentar
???????? Skrevet 23. januar 2005 Del Skrevet 23. januar 2005 (endret) Du har alle profilene i en egen mappe? og ingen andre filen i den mappen? I så fall så er det ganske rett frem. F.eks.: <?php $mappe = "./profiler/"; if ($handle = opendir($mappe)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $file_list[] = $file; } } closedir($handle); } include $mappe.$file_list[mt_rand(0, (count($file_list)-1))]; ?> Kan kanskje ligne noe. Har ikke testet det! Edit: glemte noen [], det skjer når man skriver uten å teste Endret 24. januar 2005 av ???????? Lenke til kommentar
Mira Skrevet 24. januar 2005 Forfatter Del Skrevet 24. januar 2005 Takker for at du gidder å hjelpe Men siden returnerte denne feilmeldingen: Warning: main(): Failed opening '' for inclusion (include_path='.:/usr/local/lib/php') in test/index.php on line 79 Lenke til kommentar
???????? Skrevet 24. januar 2005 Del Skrevet 24. januar 2005 Hva er navnet på mappen hvor profilene er plassert? Lenke til kommentar
???????? Skrevet 24. januar 2005 Del Skrevet 24. januar 2005 (endret) Hehe... beklager - include $file_list[$mappe.mt_rand(0, (count($file_list)-1))]; skal være: include $mappe.$file_list[mt_rand(0, (count($file_list)-1))]; Edit: rettet scriptet over! Endret 24. januar 2005 av ???????? Lenke til kommentar
Mira Skrevet 24. januar 2005 Forfatter Del Skrevet 24. januar 2005 Navnet på mappen er "random". Jeg kunne ikke se noe sted jeg skulle redigere, så jeg tok bare "cut and paste", blir det feil? Lenke til kommentar
???????? Skrevet 24. januar 2005 Del Skrevet 24. januar 2005 (endret) Jeg rettet en skrivefeil i scriptet også. Endre denne delen av scriptet: $mappe = "./profiler/"; til f.eks. $mappe = "./random/"; Endret 24. januar 2005 av ???????? Lenke til kommentar
Mira Skrevet 24. januar 2005 Forfatter Del Skrevet 24. januar 2005 Jammen virker det Takker og bukker Lenke til kommentar
ilpostino Skrevet 24. januar 2005 Del Skrevet 24. januar 2005 ville det fungert å legge alle filene inn i en array og brukt array_rand for å velge en filfeldig side på den måten...? Lenke til kommentar
???????? Skrevet 24. januar 2005 Del Skrevet 24. januar 2005 (endret) ville det fungert å legge alle filene inn i en array og brukt array_rand for å velge en filfeldig side på den måten...? Absolutt et godt poeng ilpostino. Bytt ut: include $mappe.$file_list[mt_rand(0, (count($file_list)-1))]; Med: include $mappe.$file_list[array_rand($file_list, 1)]; I denne sammenhengen vil det ha minimalt å si, men credit where credit is due, bra forslag ilpostino. Endret 24. januar 2005 av ???????? Lenke til kommentar
???????? Skrevet 24. januar 2005 Del Skrevet 24. januar 2005 IGJEN!!!! Huff av meg... det er for sent for meg nå... glemte ikke bare [] , men $file_list også! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå