Avatar billede timealert Nybegynder
20. september 2002 - 17:04 Der er 12 kommentarer og
1 løsning

thumbnails for begyndere

Er det muligt af lave thumbnails med php??

Det skal være muligt at sætte scriptet ind i en tabel på en eksisterende side. Og billederne skal bare være i en mappe "pics/" uden at man skal ændre navn, størrelse, eller andet.

Deruover skal det være muligt at bestemme hvor mange thumbnails der skal være på hver side, så scriptet selv dele billederne op i flere sider.

Jeg er ny med php så jeg skal bruge et færdigt (!) script hvor jeg får præcist beskrevet hvad jeg skal gøre for at det virker.

Jeg håber jeg har beskrevet mit problem grundigt nok, ellers så bare spørg løs.

På forhånd tak
timealert
Avatar billede danielks Nybegynder
20. september 2002 - 23:35 #1
filen funktioner.inc skal indeholde:

<?

$imageWidth=100;
$imageHeight=100;

$rows=3; //hvor mange kolonner
$cols=5; //hvor mange rækker

$libery="images/"; //finish with /

$viewNum=$cols*$rows;
if(!$firstImage){ // so it works if you just enter default.php and show the pictures without having to define the variables in the path
        $firstImage=1;
}
function getImages($firstImage){
    global $viewNum, $imageWidth, $imageHeight,$cols,$libery;  //insures that the function gets the variables
    $handle=opendir($libery); //opens directory
    while($file=readdir($handle)){ // reads the directory
        $extension=substr($file,-4); // gets the extension of the files
        if(($extension == ".jpg") || ($extension == ".gif") || ($extension == ".png") ){ // checks for image files
            $all[]=$file;  //adds positive results to the archive
        }
    }
    $colscounter=0; // variable that controls the tablebuilding system below
    $firstImage--; // variable that insures that the first image is being showed. Case: It looks best if the links begins with 1 but the array begins with 0
    if(isset($all)){  // if array is set build the table
        print "<table>";
        for($i=$firstImage; $i < $firstImage+$viewNum; $i++){
            if($all[$i]){ // checks for rinning dry of imges
                if($i==$firstImage + $colscounter*$cols){ // if true: new row
                    $colscounter++;
                    print "<tr>";
                } // add the image
                print "<td><a href='".$libery."".$all[$i]."'><img src='".$libery."".$all[$i]."' border='0' width='$imageWidth' height='$imageHeight' alt='Klik for stor billede'></a></td>";
            }
            else{ // stop if no more images
                break;
            }
        }
        print "</table><br>";
        $num=count($all);  //number of pictures in actual libery
        makeList($num); // function to make the links list
    }
    else{
        print "Der er ingen billeder i galleriet endnu<br>";
    }
}
function makeList($num){
    global $libery, $firstImage, $viewNum; //insures that the function gets the variables
    $numLinks = $num / $viewNum; // finds the number og links to be maked
    for($a=0; $a < $numLinks;$a++){
            $start=$a*$viewNum+1;  //adds 1 because then the links begins with ex. number 1-10 and 11-20 instead of 0-10 and 10-20
            $finish=$a*$viewNum+$viewNum;
            if($finish>$num){ // insures that the final link returns the right amount of pictures instead of to much
                $finish=$num;
            }
        if(($firstImage >= $start) && ($firstImage < $a * $viewNum+$viewNum)){ // if true: makes no link because you already are on the page
            print "$start - $finish</a>&nbsp;&nbsp;";
        }
        else{ // makes the link
            print "<a href='default.php?libery=$libery&firstImage=$start'>$start - $finish</a>&nbsp;&nbsp;";
        }
    }
}
?>

Og filen galleri skal indeholde:

<?
include("functioner.inc");
?>
<html>
<head>
<style>
BODY            { color:#000000; font-size:11px; font-weight:bold; font-family: Tahoma, Arial;}
A:link            { color:#000000; text-decoration:underline; font-weight:bold;}
A:visited        { color:#000000; text-decoration:underline; font-weight:normal;}
A:hover            { color:#000000; text-decoration: overline;}
h1                { font-size:15px;}
</style>
</head>
<body oncontextmenu="return false" ondragstart="return false" onselectstart="return false">
<div align="center">
<?
getImages($firstImage);
?>
<BR>
</div>
</body>
</html>
Avatar billede danielks Nybegynder
20. september 2002 - 23:36 #2
det skulle være nemt... hvis du ellers er fortrolig med engelsk... ellers kan jeg godt hjælpe yderligere...
Avatar billede timealert Nybegynder
21. september 2002 - 14:13 #3
engelsk er ikke noget problem, men hvad er det for en fil "funktioner.inc"???

Og hvor skal den placeres??? I siden hvor thumbnails'ne skal være eller bare i mappen med siderne???

Mine billeder ligger i mappen "pics" og mine sidder ligger ikke i nogen mappe.
Avatar billede danielks Nybegynder
21. september 2002 - 14:16 #4
i samme mappe som galleri.php... altså den som er angivet ovenfor...
Avatar billede danielks Nybegynder
21. september 2002 - 14:16 #5
funktioner er hele koden... designet ligger i galleri.php
Avatar billede danielks Nybegynder
21. september 2002 - 14:17 #6
du erstatter blot images med pics... i ovenstående kode

altså: $libery="pics/"; //finish with /
Avatar billede timealert Nybegynder
21. september 2002 - 15:37 #7
der kommer ingenting frem... du kan prøve at kigge ind på www.troels.h4f.dk/galleri.php og se og du kan se om jeg har gjort noget galt??

Kan du ikke skrive hvad der skal i hvad.
Jeg har følgende mapper:
pics            der hvor min (kommende) thumbnails skal hentes
images          der hvor billederne til siderne ligger
sider ligge ikke i nogen mappe.

håber du kan hjælpe
Avatar billede danielks Nybegynder
21. september 2002 - 16:25 #8
efter fejlmeldingerne vil jeg sige at funktioner.inc ikke ligger i samme mappe som galleri... du må ikke kalde den Funktioner.inc (det skal være med lille)
Avatar billede timealert Nybegynder
21. september 2002 - 17:36 #9
det er ingen af de fejl du beskriver... :-(

Prøv at kigge på: http://www.troels.h4f.dk/fejl.GIF
Avatar billede danielks Nybegynder
21. september 2002 - 19:41 #10
kald den functioner.inc istedet... altså med c istedet for k .... det skulle virke... min fejl :)
Avatar billede timealert Nybegynder
22. september 2002 - 13:12 #11
Så virker det sq!!! :-)

Tak for hjælpen!

Lige et sidste spørgsmål...

Hvad synes du om mit design??? (Menuen virker ikke endnu)
Avatar billede timealert Nybegynder
22. september 2002 - 13:13 #12
Smed lige lidt flere point oven i hatten...
Avatar billede timealert Nybegynder
22. september 2002 - 13:29 #13
Ved du hvordan man får billederne til at åbne i et nyt vindue i stedet for i det samme vindue??
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
Computerworld tilbyder specialiserede kurser i database-management

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