moesen Skrevet 31. desember 2003 Del Skrevet 31. desember 2003 Heisann! Skal vi si jeg har en mappe på en server med en del bilder og vitser. Jeg vil ha en side som plukker ut en ting en dag, helt random. Liksom; dagens vits, dagens tegnestripe, dagens bilde. Også neste dag selfølgelig ett annet bilde. Det er vel best og gjøre dette i php? Hvordan... Og med det samme, noen som kan ta en titt her? Lenke til kommentar
Torbjørn Skrevet 31. desember 2003 Del Skrevet 31. desember 2003 det spørs litt hva du har tilgjengelig. har du f.eks en katalog med diverse tegneserie gif's? det er en smal sak å hente ut et tilfeldig element fra en liste med tilgjengelige elementer. det være seg bilder eller tekst. ... og jeg svarte "der" Lenke til kommentar
moesen Skrevet 31. desember 2003 Forfatter Del Skrevet 31. desember 2003 det spørs litt hva du har tilgjengelig. har du f.eks en katalog med diverse tegneserie gif's? det er en smal sak å hente ut et tilfeldig element fra en liste med tilgjengelige elementer. det være seg bilder eller tekst. ... og jeg svarte "der" Hvis jeg har en .txt fil full av vitser hvordan skal jeg sortere dem? Bør jeg ha en .txt fil til hver vits? Hvordan blir koden da? Slik at den første henter ut random bilde/vits/stripe for så og vise den... Lenke til kommentar
ZoRaC Skrevet 2. januar 2004 Del Skrevet 2. januar 2004 (endret) Random bilde kan løses slik: (hvis du har alle bilder i samme mappe) <?php function directory($dir, $type) { $handle = @opendir($dir); if (!$handle) { return false; } $res = array(); while ($file = readdir($handle)) { // se om $file er en mappe if(!is_dir($file)) { // kun vise bilder if (in_array(substr($file, strrpos($file, '.')), $type)) { $res[$dir.$file] = $file; } } } closedir($handle); return $res; } /*for å få noe brukbart ut av det hent funktionen med denne linja:*/ $img = directory('./bilder/', array('.gif', '.png', '.jpg', '.gif')); $bilde=array_rand($img); echo "<img src=\"$bilde\">"; ?> Edit: Hmm.. nå ser jeg at du vil ha dagens bilde. Det jeg gjør er å ta ett random-bilde hver gang siden lastes... Endret 2. januar 2004 av ZoRaC Lenke til kommentar
ZoRaC Skrevet 2. januar 2004 Del Skrevet 2. januar 2004 Tok et søk i forumet og fant denne: http://forum.hardware.no/index.php?showtop...27621&hl=dagens Der har "b-urn" en kode som gir ut random data (jeg har redigert den litt): <?php $file=fopen('linker.txt',"r"); $i=0; while (!feof($file)) { $read = fgets($file, 4096); $str_Links[$i]=$read; ++$i; } echo($str_Links[getArrayPosition()]); function getArrayPosition() { global $str_Links; $date_array = getdate(); $intDayOfYear = $date_array[yday]; return modulo($intDayOfYear,count($str_Links)); } function modulo($x,$y) {return ($x - floor($x/$y)*$y);} ?> Så lager du "linker.txt" med en link på hver linje. Da får du en ny link pr dag. Samme kan jo også gjøres med bilde. Legg bildene inn i ett .txt dokument eller bruk koden i mitt forrige innlegg og hent ut "dagens bilde" (det krever som sagt at bildene ligger i samme mappe). Lenke til kommentar
FuLu Skrevet 2. januar 2004 Del Skrevet 2. januar 2004 (endret) Grei sak som viser random vits, hver vits går på en linje i vitse-fila: <?php // Hver linje er en vits og puttes i arrayet $vitser $vitser = file("vitser.txt"); if($vitser !== false && is_array($vitser) && count($vitser) > 0) { // Henter en random index til arrayet og viser frem en random vits /*srand((float) microtime() * 10000000); $i = array_rand($vitser);*/ // Henter neste index i array fra dag til dag og begynner på nytt når siste er nådd $i = date("z") % count($vitser); echo "<p style=\"background-color: #ffffe1; padding: 1em;\">".$vitser[$i]."</p>"; } else { // Ingen vitser funnet echo "<p style=\"background-color: #ffffe1; padding: 1em;\">What a joke!</p>"; } ?> Edit: hmm, tenkte ikke på at du skulle ha en unik vits om dagen, denne vil gi deg random vits hver gang man besøker siden Edit: endret det slik at den viser forskjellig vits fra dag til dag. Du kan vel så og si gjøre det samme med bilder du har og, men da må du liste bildene med opendir, readdir eller hva man bruker inni et array og bruke metoden over på samme måte. Endret 8. januar 2004 av FuLu Lenke til kommentar
w@abbus Skrevet 25. januar 2006 Del Skrevet 25. januar 2006 Hvis jeg skal ha browseren til å vise dagens bilde med en max oppløsning.. (For å ikke fylle hele browser ved store filer) Hvordan blir koden da? Lenke til kommentar
nree Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 (endret) Vist du skal ha ett bilde inni en ramme eller noe kan du bruke prosenter til det, bilde er da like stort men blir forminsket.. <?php /** BILDER **/ $bilde[0] = "bilde1.jpg"; $bilde[1] = "bilde2.jpg"; $bilde[2] = "bilde3.jpg"; $bilde[3] = "bilde4.jpg"; $bilde[4] = "bilde5.jpg"; // Også videre nedover med $bilde[TALL] = "bildenavn.filetternavn"; srand((float) microtime() * 10000000); // Finner ut hvor mange bilder du har: $count = count($bilde); // Velger ut bilde: $random = array_rand($bilde, $count); $random = $bilde[$random[0]]; // Sender ut bildet til websiden echo "<img src='$random' style='width: 100%; length: 100%;' />"; ?> Du kan selfølgelig også endre prosentene eller du kan legge til feks. 200px for og få en eksakt størrelse og ikke en størrelse ut i fra bildets opprinnelige størrelse.. EDIT: Har ikke testet det, blir ikke overasket vist det ikke funker.... Endret 27. januar 2006 av goggen90 Lenke til kommentar
stian90_2 Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 Det scriptet kjører jo random vær gang det kjører, det blir jo forskjellig bilde vær gang du åpner siden, han ville ha et bilde som sto der fast i en dag, før det så byttet neste dag ? eller tar jeg feil nå ? Lenke til kommentar
nree Skrevet 27. januar 2006 Del Skrevet 27. januar 2006 Hehe, da så.. Leste nesten bare topic 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å