Gå til innhold

5 random bilder med link


Anbefalte innlegg

Bruker denne koden nå:

<?php
$mappe = "images";  
$hoyde = "75";  
$bredde = "75";  

$dir = opendir($mappe);
$unntak = array(".", "..");  

while($print_bilde = readdir($dir)):

    if ($print_bilde == $unntak[0] || $print_bilde == $unntak[1]):
    continue;
    Endif;

    $print_bilde = $mappe."/".$print_bilde;
    echo "\n<a href=\"$print_bilde\"><img src=\"$print_bilde\" height=\"$hoyde\" widht=\"$bredde\" border=\"0\" alt=\"$print_bilde\"></a>\n";
Endwhile;

closedir($dir);
?>

Den krymper bildene til 75x75 og linker til orginalen.

Men den viser alle bildene i den mappen som er bestemt.

Hvordan får jeg endret den så den bare viser 5 forskjellige bilder hver gang man refresher siden?

Lenke til kommentar
Videoannonse
Annonse
Bruker denne koden nå:

<?php
$mappe = "images";  
$hoyde = "75";  
$bredde = "75";  

$dir = opendir($mappe);
$unntak = array(".", "..");  

while($print_bilde = readdir($dir)):

    if ($print_bilde == $unntak[0] || $print_bilde == $unntak[1]):
    continue;
    Endif;

    $print_bilde = $mappe."/".$print_bilde;
    echo "\n<a href=\"$print_bilde\"><img src=\"$print_bilde\" height=\"$hoyde\" widht=\"$bredde\" border=\"0\" alt=\"$print_bilde\"></a>\n";
Endwhile;

closedir($dir);
?>

Den krymper bildene til 75x75 og linker til orginalen.

Men den viser alle bildene i den mappen som er bestemt.

Hvordan får jeg endret den så den bare viser 5 forskjellige bilder hver gang man refresher siden?

7128788[/snapback]

 

Prøv

<?php
$mappe = "images";  
$hoyde = "75";  
$bredde = "75";  
$antall_bilder = 5;

$dir = new dir($mappe);
$nr = 0;
while((false !== ($entry = $d->read())) && (++$nr <= ($antall_bilder + 2)))

    if (($entry == '.') || $entry = '..')
        continue;

    $print_bilde = $mappe."/".$print_bilde;
    echo "\n<a href=\"$print_bilde\"><img src=\"$print_bilde\" height=\"$hoyde\" widht=\"$bredde\" border=\"0\" alt=\"$print_bilde\"></a>\n";
Endwhile;

$dir->close();
?>

Endret av PHPdude
Lenke til kommentar

Får bare feilmeldingen:

Parse error: parse error, unexpected T_ENDWHILE in C:\wamp\www\shyroth\imagehost\index.php on line 119

 

Og hvis jeg tar vekk Endwhile; så får jeg denne feilmeldingen:

Fatal error: Class 'dir' not found in C:\wamp\www\shyroth\imagehost\index.php on line 110

Lenke til kommentar

PHP

<?php

// hvis du ikke kjører php5

if(function_exists("scandir") == false) {

function scandir($dir$sortorder 0) {

if(is_dir($dir)) {

$dirlist opendir($dir);

while(($file readdir($dirlist)) &#33;== false) {

$files[] = $file;

}

if($sortorder == 0) {

asort($files);

}

else {

rsort($files);

};

closedir($dir);

return $files;

}

else {

return FALSE;

break;

};

};

};

 

 

$mappe "mappe/";

$hoyde "";

$bredde "";

 

// hent filene fra mappa

 $bilder scandir($mappe);

// fjerner "." og ".."

 unset($bilder[0],$bilder[1]);

// tilfeldige bilder

 shuffle($bilder); 

// begrense til fem

$bilder array_chunk($bilder,5);

$bilder $bilder[0];

// skriv ut bildene

function skrivuhtml($bilde) {

 global $mappe,$hoyde,$bredde;

 $print_bilde $mappe.$bilde;

 echo "\n<a href=\"$print_bilde&#092;"><img src=\"$print_bilde\" height=\"$hoyde\" widht=\"$bredde\" border=\"0\" alt=\"$print_bilde\"></a>\n";

 };

 

array_walk($bilder,"skrivuthtml");

 

?>

 

det er en stygg renderings feil mot slutten... bytt ut &#092; med \

Endret av MC2
Lenke til kommentar
Har du null peiling på PHP?

Dersom du har null peiling, kan du heller betale noen for å gjøre jobben for deg istedenfor.

 

EDIT: Redigert bort en feil påpekt i posten under.

7132617[/snapback]

 

Er faktisk noe som heter at man må LÆRE da!

Og mange er vil faktisk bidra til at andre lærer det.

Og hvis man står fast er det derfor veldig greit å spørre her, da det alltid er noen som har en løsning :)

Lenke til kommentar

Man lærer ikke av at andre gjør hele oppgaven for deg.

Om du er interessert i å diskutere dette send meg en pm, så vi slipper å spamme ned tråden.

 

Og dersom han faktisk er ute etter å lære, burde han prøve å se på noen starttutorials for i det hele tatt å forstå PHP-syntax.

PHP er ikke et vanskelig språk, og det har en omfattende manual.

Selvsagt skal han få lov til å spørre om ting, men han må i det minste prøve selv (og det ser det ikke ut som han gjør etter min mening. Han prøver skriptet, og dersom det ikke funker flyr han inn her istedenfor å prøve å rette feilen)

 

 

Uansett, feilene i scriptet til MC2 er pga. forumet, ikke pga. MC2.

Forumet gjør om en del spesialtegn til html-koder, f.eks. blir "!" gjort om til !, som er grunnen til ovenfornevnte feil.

Dersom det er andre lignende feil (slik som MC2 har påpekt at det er), så må disse også rettes.

Lenke til kommentar

<?php
// hvis du ikke kjører php5
if(function_exists("scandir") == false) {
    function scandir($dir, $sortorder = 0) {
        if(is_dir($dir)) {
            $dirlist = opendir($dir);
            while(($file = readdir($dirlist)) !== false) { //her hadde vi en feil
                $files[]    =    $file;
            }
            if($sortorder == 0) {
                asort($files);
            }
            else {
                rsort($files);
            };
            closedir($dir);
            return $files;
        }
        else {
            return FALSE;
            break;
        };
    };
};


$mappe = "mappe/";
$hoyde = "";
$bredde = "";

// hent filene fra mappa
 $bilder = scandir($mappe);
// fjerner "." og ".."
 unset($bilder[0],$bilder[1]);
// tilfeldige bilder
 shuffle($bilder); 
// begrense til fem
$bilder = array_chunk($bilder,5);
$bilder = $bilder[0];
// skriv ut bildene
function skrivuhtml($bilde) {
     global $mappe,$hoyde,$bredde;
     $print_bilde = $mappe.$bilde;
     echo "\n<a href=\"$print_bilde\;"><img src=\"$print_bilde\" height=\"$hoyde\" widht=\"$bredde\" border=\"0\" alt=\"$print_bilde\"></a>\n";
 };

array_walk($bilder,"skrivuthtml");

?>

Koden skulle vel nå være uten feil.

 

Er helt enig med Nazgul. Virker ikke som at lefsaker gjør et eneste forsøk på å rette feilen.

 

Noen legger ut en kode, han setter det inn en virkårlig plass, og sier at det ikke virker. Uten å si noe om hvordan han satt det inn. (Viser da til innlegg #2. while()-forslaget).

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...