[php] getimagesize

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik gebruik de volgende code voor mij foto gallery

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php 

    $handle=opendir('./foto/'); 
    $strSought = "gif"; 
    $imgCount = 0;  

    while ($file = readdir($handle)) 
    { 
        if ($strSought == substr($file, -3)) 
        { 
            $imgCount = $imgCount + 1; 
        } 
    } 

    closedir($handle);

    if ($imgCount != 0)
    {
        $handle=opendir('./foto/'); 

        $perRow = 3;

        $numRows = $imgCount/$perRow;

        $imgNum = 0;
        
        while (false !== ($file = readdir($handle))) 
        { 
            if ($strSought == substr($file, -3)) 
            { 
                $imgNum++;

                $size = GetImageSize($file); 

                $jpglink = substr($file, 0, 8);

                echo "<td><a href=\"$jpglink-01.jpg\">[img]\"$file\"[/img]</a>";            

                //modulus (%) $a % $b remainder of $a divided by $b 
                if ($imgNum%$perRow)
                {
                echo "</td>";
                }
                else                            
                {
                echo "</td></tr><tr>";
                }
             }
      } 

     closedir($handle); 

  }

?>


Nu weet hij wel dat er foto's in de dir/ foto staan, geeft de naam erbij, alleen $file denkt dat ze in de dir/ staan waar ook de index in staat.(maar ze staan in /foto/).

hoe kan ik dat veranderen?

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

:?

Vanuit welke directory wordt dit script wat je hier laat zien gerunt?

Waarschijnlijk een soort root ofzo (htdocs, whatever), met daarin de directory 'foto'. Dus dan is het aanroepen van $size = GetImageSize($file) ; uiteraard onzin, want $file bevat niet de directory gegevens... alleen de filenaam. Het bestand zelf staat in de directory foto.

Het moet dus denk ik: $size = GetImageSize('./foto/' . $file); worden... en overal waar die referentie verkeerd staat. Al die <img src's werken trouwens toch ook niet (red cross of death)? Daar kon je toch al zien dat je verkeerd zat?

----------------------------------------

Ik vind dit trouwens wel een heel erg vaag scriptje hoor... er zitten wel heel erg rare checks in.
code:
1
if ($strSought == substr($file, -3))
Beetje niet zo mooie check IMHO. JPG's, PNG's worden zo niet gebruikt. Ik zou eerder checken op is_file en een regex op .jpg/.jpeg/.gif/.png en eventueel nog met een imagetype.

code:
1
if ($imgNum%$perRow)
Dit bepaald het einde van een rij? Maar hier komt een integer uit.

[ Voor 79% gewijzigd door Cavorka op 10-07-2004 13:34 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.