PHP ver gevorderde |
|
hmm, zal wel aan mijn host hebben gelegen dat bij mij het nooit heeft gewerkt om getimagesize uit te oefenen op een afbeelding die zich niet op mijn host bevond.
Ik gebruik hiervoor altijd de volgende functie:
<?php
# De functie.
function resize($aSize, $iMax)
{
if($aSize[0] > $iMax && $aSize[0] > $aSize[1])
{
$iWidth = $iMax;
$iHeight = $aSize[1] / ($aSize[0] / $iMax);
}
elseif($aSize[1] > $iMax && $aSize[1] > $aSize[0])
{
$iWidth = $aSize[0] / ($aSize[1] / $iMax);
$iHeight = $iMax;
}
elseif($aSize[0] > $iMax && $aSize[1] > $iMax && $aSize[0] == $aSize[1])
{
$iWidth = $iMax;
$iHeight = $iMax;
}
else
{
$iWidth = $aSize[0];
$iHeight = $aSize[1];
}
return ($aSize = array(floor($iWidth), floor($iHeight)));
}
# Hoe toe te passen.
$sDir = 'image/location.jpg';
$iMaxSize = 200;
$aSizes = resize(getimagesize($sDir), $iMaxSize);
print_r($aSizes);
/* Output:
Array
(
[0] => 80
[1] => 80
)
*/
?>
<?php # De functie. function resize($aSize, $iMax) { if($aSize[0] > $iMax && $aSize[0] > $aSize[1]) { $iWidth = $iMax; $iHeight = $aSize[1] / ($aSize[0] / $iMax); } elseif($aSize[1] > $iMax && $aSize[1] > $aSize[0]) { $iWidth = $aSize[0] / ($aSize[1] / $iMax); $iHeight = $iMax; } elseif($aSize[0] > $iMax && $aSize[1] > $iMax && $aSize[0] == $aSize[1]) { $iWidth = $iMax; $iHeight = $iMax; } else { $iWidth = $aSize[0]; $iHeight = $aSize[1]; } } # Hoe toe te passen. $sDir = 'image/location.jpg'; $iMaxSize = 200; /* Output: Array ( [0] => 80 [1] => 80 ) */ ?>
|