Avatar billede raan Nybegynder
04. marts 2008 - 09:38 Der er 15 kommentarer og
1 løsning

max størrelse på et billede

Hej.

er der ikke en måde man kan sætte en max. grænse til et billede, så hvis der nu er et billedet på 500 x 500, og max. grænsen er 100 x 100, laver den billedet om til 100 x 100?
Avatar billede mibu Nybegynder
04. marts 2008 - 09:58 #1
Søg og du skal finde :-)

http://www.eksperten.dk/spm/822175
Avatar billede raan Nybegynder
04. marts 2008 - 10:14 #2
vil du ikke hjælpe mig med at sætte det sammen? :)
Avatar billede fant0mas Nybegynder
04. marts 2008 - 10:36 #3
<?php
$imgdir = 'sti/til/billeder/';
$allowed_types = array('png','jpg','jpeg','gif');
$dimg = opendir($imgdir);
while($imgfile = readdir($dimg))
{
    if(in_array(strtolower(substr($imgfile,-4)),$allowed_types))
    {
        $a_img[] = $imgfile;
        sort($a_img);
        reset ($a_img);
    }
}
$totimg = count($a_img);
for($x=0; $x < $totimg; $x++)
{
    $size = getimagesize($imgdir.'/'.$a_img[$x]);
   
    $maxh = 200;
    $maxw = 200;
   
    $wscale = $maxw / $size[0];
    $hscale = $maxh / $size[1];
    $scale = min( $hscale, $wscale );
    $nw = round( $size[0] * $scale, 0 );
    $nh = round( $size[1] * $scale, 0 );
   
    echo '<img src="'.$imgdir.$a_img[$x].'" width="'.$nw.'" height="'.$nh.'" border="0">';
}
?>

Lånte lidt fra Jacobdos script.
Du kan ændre til det ønskede:
$maxh = 200;
$maxw = 200;
Avatar billede raan Nybegynder
04. marts 2008 - 10:51 #4
kan ikke få det til at virke, kan du hjælpe lidt?

vil lave det sådan så du kan skrive således: image_size.php?imageadr=billeder/hej.jpg
også åbner den det der billede?

//image_size
<?php
$imageadr = $_GET["imageadr"];
$imgdir = '$imageadr';
$allowed_types = array('png','jpg','jpeg','gif');
$dimg = opendir($imgdir);
while($imgfile = readdir($dimg))
{
    if(in_array(strtolower(substr($imgfile,-4)),$allowed_types))
    {
        $a_img[] = $imgfile;
        sort($a_img);
        reset ($a_img);
    }
}
$totimg = count($a_img);
for($x=0; $x < $totimg; $x++)
{
    $size = getimagesize($imgdir.'/'.$a_img[$x]);
   
    $maxh = 200;
    $maxw = 200;
   
    $wscale = $maxw / $size[0];
    $hscale = $maxh / $size[1];
    $scale = min( $hscale, $wscale );
    $nw = round( $size[0] * $scale, 0 );
    $nh = round( $size[1] * $scale, 0 );
   
    echo '<img src="'.$imgdir.$a_img[$x].'" width="'.$nw.'" height="'.$nh.'" border="0">';
}
?>
Avatar billede fant0mas Nybegynder
04. marts 2008 - 10:59 #5
$size = getimagesize($_GET[imageadr]);
 
    $maxh = 200;
    $maxw = 200;
 
    $wscale = $maxw / $size[0];
    $hscale = $maxh / $size[1];
    $scale = min( $hscale, $wscale );
    $nw = round( $size[0] * $scale, 0 );
    $nh = round( $size[1] * $scale, 0 );
 
    echo '<img src="'.$_GET[imageadr].'" width="'.$nw.'" height="'.$nh.'" border="0">';
Avatar billede fant0mas Nybegynder
04. marts 2008 - 11:04 #6
Vi kunne også lige sikre os billedet eksisterer:

<?php
if(file_exists($_GET[imageadr])){
$size = getimagesize($_GET[imageadr]);

    $maxh = 200;
    $maxw = 200;

    $wscale = $maxw / $size[0];
    $hscale = $maxh / $size[1];
    $scale = min( $hscale, $wscale );
    $nw = round( $size[0] * $scale, 0 );
    $nh = round( $size[1] * $scale, 0 );

    echo '<img src="'.$_GET[imageadr].'" width="'.$nw.'" height="'.$nh.'" border="0">';
}else{
    echo 'Billedet kunne ikke findes';
}
?>
Avatar billede raan Nybegynder
04. marts 2008 - 11:09 #7
det virker.

men hvorfor virker det her ikke?
..
    $maxh = getimagesizeh($_GET[sizeh]);
    $maxw = getimagesizew($_GET[sizew]);
Avatar billede fant0mas Nybegynder
04. marts 2008 - 11:29 #8
Sådan:

$maxh = getimagesizeh($_GET[imageadr]);
$maxw = getimagesizew($_GET[imageadr]);
Avatar billede raan Nybegynder
04. marts 2008 - 11:34 #9
jamen jeg vil sætte højden og bredden på billedet via. en get funktion ..

fx. image_size.php?imageadr=billeder/hej.jpg&sizeh=200&sizew=200
Avatar billede fant0mas Nybegynder
04. marts 2008 - 12:04 #10
$maxh = $_GET[sizeh];
$maxw = $_GET[sizew];
Avatar billede raan Nybegynder
04. marts 2008 - 12:21 #11
fandt ud af det.

men kan du svare mig på hvorfor jeg får denne fejl når jeg bruger denne sætning?
sætningen:
include ("image_size.php?sizeh='400'&sizew='400'&imageadr='css/newspic/$filename'");

fejlen:
Warning: main(image_size.php?sizeh='400'&sizew='400'&imageadr='css/newspic/img_4032008083544') [function.main]: failed to open stream: No such file or directory in /customers/../../../../nyheder.php on line 32

Warning: main() [function.include]: Failed opening 'image_size.php?sizeh='400'&sizew='400'&imageadr='css/newspic/img_4032008083544'' for inclusion (include_path='.:/usr/lib/php') in /customers/../../../../nyheder.php on line 32
Avatar billede fant0mas Nybegynder
04. marts 2008 - 12:42 #12
Du mangler en fil-endelse som .jpg
Avatar billede raan Nybegynder
04. marts 2008 - 12:44 #13
det er ligemeget ..
- for jeg kan godt åbne den "normalt" :s

- men så snart jeg vil include, siger den der er en fejl ..
Avatar billede pidgeot Nybegynder
04. marts 2008 - 12:48 #14
Du kan ikke include en lokal fil og samtidigt bruge parametre - hvis du skal include outputtet fra en lokal fil med bestemte parametre, må du sætte de pågældende værdier i det script der includer, og så include filen uden parametre...

...jeg tvivler dog stærkt på det script skal includes, fremfor blot at blive henvist til med et <img>-tag - du har ikke meget gavn af inline .jpg-data!
Avatar billede fant0mas Nybegynder
04. marts 2008 - 12:50 #15
Du kan slet ikke bruge include på den måde.
Du kan:
include 'image_size.php';

Men altså, det er svært at hjælpe dig, når du ikke forklarer ordentligt hvad du vil.
Jeg kan slet ikke komme på en situation hvor man ville kunne få brug for include som du benytter den der...
Avatar billede raan Nybegynder
04. marts 2008 - 13:13 #16
hm, jeg har bare sat den ind i selve nyhedsfilen nu, for kunne ikke få det andet til at virke ..
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