Avatar billede michaeljuul Nybegynder
16. november 2004 - 20:05 Der er 9 kommentarer og
1 løsning

Kun billede som er mindst 200kb

Hej
Jeg fik hjælp til denne kode forleden dag.

<?php
$mappe = "copper/albums/userpics/10001"; // Mappen med billeder

$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
    if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) {
        $billeder[] = "$fil";
    }
}
closedir($handle);

$i = rand(0,count($billeder)-1);


$size = getimagesize($mappe."/".$billeder[$i]);

$w = $size[0];
$h = $size[1];

$rw = 200 / $w;
$rh = 100 / $h;

if( $rw > $rh )
  $rsize = $rh;
else
  $rsize = $rw;

$w = $w * $rsize;
$h = $h * $rsize;

echo "<img src='$mappe/$billeder[$i]' width='$w' height='$h'>";
?>


Nu kunne jeg så godt tænke mig, at siden kun viser billeder som er på 200kb eller der over.

Er der nogle som kan hjælpe med det?

Mvh
Michal
Avatar billede sukos Juniormester
16. november 2004 - 20:18 #1
Du kan vel

    if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) {
        if(filesize($mappe."/".$fil) > (200*1024)) {
        $billeder[] = "$fil";
        }
    }
Avatar billede michaeljuul Nybegynder
16. november 2004 - 20:23 #2
Måske, Men vil den kode så ikke også gå efter billeder på mindst 1024x f.eks 800 pixel?
Avatar billede sukos Juniormester
16. november 2004 - 20:25 #3
Jow da, det er jo kun filstørrelsen som her tjekkes.
Str. i pixels er jo noget andet.
Avatar billede michaeljuul Nybegynder
16. november 2004 - 20:28 #4
Okay men hvorfor så 200x1024?
Den forstår jeg ikke helt. Billedet skal bare være mindst 200kb.
Avatar billede sukos Juniormester
16. november 2004 - 20:29 #5
1 Kb er 1024 bytes
Avatar billede michaeljuul Nybegynder
16. november 2004 - 20:35 #6
Nåh på den måde ;-)
Nu har jeg lige prøvet med kode.
<?php
$mappe = "testfoto"; // Mappen med billeder

$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
    if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) {
        $billeder[] = "$fil";
    }
}
closedir($handle);

$i = rand(0,count($billeder)-1);


$size = getimagesize($mappe."/".$billeder[$i]);

$w = $size[0];
$h = $size[1];

$rw = 200 / $w;
$rh = 100 / $h;

if( $rw > $rh )
  $rsize = $rh;
else
  $rsize = $rw;

$w = $w * $rsize;
$h = $h * $rsize;

if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) {
        if(filesize($mappe."/".$fil) > (200*1024)) {
        $billeder[] = "$fil";
        }
    }

echo "<img src='$mappe/$billeder[$i]' width='$w' height='$h'>";
?>
Jeg har lage 2 billeder i min testmappe. Et på 6.173kb og Et på 765.976 kb. Men når jeg opdatere siden bliver det lille også vist.. hmm
Avatar billede sukos Juniormester
16. november 2004 - 20:38 #7
? Du blander koderne lidt sammen.
Brug det i den første while, altså der hvor $billeder[] oprettes

<?php
$mappe = "testfoto"; // Mappen med billeder

$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
    if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) {
        if(filesize($mappe."/".$fil) > (200*1024)) {
        $billeder[] = "$fil";
        }
    }
}
closedir($handle);

$i = rand(0,count($billeder)-1);


$size = getimagesize($mappe."/".$billeder[$i]);

$w = $size[0];
$h = $size[1];

$rw = 200 / $w;
$rh = 100 / $h;

if( $rw > $rh )
  $rsize = $rh;
else
  $rsize = $rw;

$w = $w * $rsize;
$h = $h * $rsize;

echo "<img src='$mappe/$billeder[$i]' width='$w' height='$h'>";
?>
Avatar billede michaeljuul Nybegynder
16. november 2004 - 20:43 #8
Mange tak for din hjælp :-) Igen ;-)
Kommer du med et svar?
Avatar billede sukos Juniormester
16. november 2004 - 20:45 #9
Så lidt da! :O)
Avatar billede michaeljuul Nybegynder
16. november 2004 - 20:49 #10
Lige et hurtig spørgsmål.
Kan man få koden til at lede efter billeder i under mapper?
Altså hvis nu min hovdemappe er testfoto, og jeg så har 4 under mapper i den kan koden så hente fra en af dem helt tilfældig?
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