Avatar billede michaelb.dk Nybegynder
12. februar 2004 - 11:26 Der er 22 kommentarer og
1 løsning

Bredde og højde på billede i vis dir

Scriptet:

<?php
$viewtypes = array(".jpg",".jpeg"); // Filtyper der skal vises!

if ($vis) {
include ("../../templates/header.php");
echo"<img src=\"$vis\" width=\"500\" height=\"400\">";
include ("../../templates/footer.php");
exit;
}
if(!isset($dir)){
$dir = ".";
}

      include ("../../templates/header.php");
        echo "<b>Billeder</b>";
       
if ($dirpointer = @opendir($dir)) {
  while($file = readdir($dirpointer)) {
      $extension = ".".strtolower(end(explode(".", $file)));
      if (in_array($extension, $viewtypes)) {
          $size = round(filesize($dir."/".$file)/1024, 2);
        echo "<a href=\"index.php?vis=$file\"> <IMG src=\"../tumb/$file\" style=\"border-color: #565550; border-width: 1\" width=\"150\" height=\"120\"></A>\n";
      }
  }
  closedir($dirpointer);
      include ("../../templates/footer.php");
}
?>

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

Hvordan kan jeg hente billedets bredde og højde, f.eks. så jeg bare skal skrive <img src=\"$vis\" width=\"$width\" height=\"$height\">

Michael
Avatar billede avminarm Juniormester
12. februar 2004 - 11:36 #1
med den her kan du hante alle info fra billedet:

http://dk2.php.net/manual/en/function.getimagesize.php
Avatar billede michaelb.dk Nybegynder
12. februar 2004 - 13:17 #2
men getimagesize viser jo kun bredde og højde på en specifik fil!! Ikke på "alle", som i vis dir!
Avatar billede avminarm Juniormester
12. februar 2004 - 14:55 #3
du kan vel køre alle igennem en kode stump
Avatar billede tefcke Nybegynder
12. februar 2004 - 15:00 #4
Du kan sgu da lige under:
$size = round(filesize($dir."/".$file)/1024, 2);

kalde getimagesize() for at få dine værdier ud!
Avatar billede michaelb.dk Nybegynder
12. februar 2004 - 15:24 #5
tefcke kan du ikke prøve at få det snøvlet ind i koden. Jeg får sku fejl når jeg prøver!
Avatar billede tefcke Nybegynder
12. februar 2004 - 15:33 #6
Som sagt, efter:
$size = round(filesize($dir."/".$file)/1024, 2);

gør du flg.:
list($width, $height, $type, $attr) = getimagesize($dir."/".$file);

og så gør du som du selv skrev:
echo "<a href=\"index.php?vis=$file\"><img src=\"../tumb/$file\" style=\"border-color: #565550; border-width: 1\" width=\"$width\" height=\"$height\"></a>\n";
Avatar billede michaelb.dk Nybegynder
12. februar 2004 - 15:37 #7
Ahaa... læste bare din tekst forkert :-)

men men men, http://www.greyparrot.dk/2/billeder/2/index.php?vis=6.jpg
det funger bare ikke rigtig
Avatar billede tefcke Nybegynder
12. februar 2004 - 15:54 #8
Det er fordi stien til filen ikke eksisterer i getimagesize($dir."/".$file).

Jeg kender ikke din korrekte sti billedet, det gør du nok selv, så du indsætter bare den rigtige sti til billedet!
Avatar billede michaelb.dk Nybegynder
12. februar 2004 - 15:57 #9
hvor ska jeg skrive stien :O)
Avatar billede tefcke Nybegynder
12. februar 2004 - 16:49 #10
Prøv at bruge:
getimagesize($file)

istedet for:
getimagesize($dir."/".$file)
Avatar billede michaelb.dk Nybegynder
12. februar 2004 - 16:57 #11
Har både prøvet:
          $size = round(filesize($file)/1024, 2);

og
          $size = round(getimagesize($file)/1024, 2);

intet virkede :-(
Avatar billede tefcke Nybegynder
12. februar 2004 - 17:09 #12
Inde i scriptet, så prøv at skrive:

echo getcwd();

Så ser du i hvilket bibliotek der arbejdes. Så når du ved det, kan du bruge den relative sti til billederne
Avatar billede michaelb.dk Nybegynder
12. februar 2004 - 17:11 #13
jaja, men hvor skal stien stå?
Avatar billede tefcke Nybegynder
12. februar 2004 - 23:10 #14
Der hvor du skal bruge filen vel...

filesize() skal bruge den, getimagesize() skal bruge den, og når billedet skal vises, skal du vel også bruge den!
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 12:53 #15
jeg får stadig ikke svar på hvor jeg skal skrive stien :-)
Avatar billede avminarm Juniormester
13. februar 2004 - 13:03 #16
stien til billedet prøv f.eks: $_SERVER['DOCUMENT_ROOT']."/thumb/".$file
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 13:24 #17
???
Avatar billede avminarm Juniormester
13. februar 2004 - 13:50 #18
getimagesize($_SERVER['DOCUMENT_ROOT']."/thumb/".$file) - ja jeg gætter bare - dine "???" er jo ikke så informative at det gør noget!!
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 13:54 #19
jamen jeg er slet ikke med på det her :-) Er stået af for længe siden ...
Avatar billede tefcke Nybegynder
13. februar 2004 - 14:03 #20
Hvis du står i mappen "thumb/" og vil vise et billed som ligger i mappen "thumb/pic/" nytter det jo ikke at du leder efter billedet i mappen "thumb/"

Det er det samme problem som gør sig gældende ved både getimagesize() og filesize() funktionerne. Da antager at den fil du giver dem som argument ligger der hvor du siger den ligger.
Altså hvis du siger til funktionen filesize() at du vil have størrelsen på filen "img.jpg" som ligger i "thumb/", men "img.jpg" rent faktsik ligger i "thumb/pic/" og ikke i "thumb/" som du sagde til den, så kan filesize() funktionen ikke finde ud af det.
Du er nød til at sige præcis hvor filen ligger!
Avatar billede michaelb.dk Nybegynder
13. februar 2004 - 14:05 #21
okay, og dette leder mig til næste spørgsmål "hvad skal jeg skrive for at fortælle hvilken mappe billedet ligger i?"
Avatar billede tefcke Nybegynder
13. februar 2004 - 14:09 #22
Det kan vi ikke fortælle dig, for vi kender ikke din mappe struktur :)
Du skal bare lige huske at alle dine henvisninger gøres ud fra den mappe hvor i scriptet bliver udført!
Avatar billede michaelb.dk Nybegynder
21. juli 2004 - 14:48 #23
lukker
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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