• 06-07-2009, 09:36:13
    #1
    Üyeliği durduruldu
    büyük boyutlu dosyalarda resmi tekrar boyutlandirmak için getimagesize ile resmin en boy oranlarini almak istedigimde php dosyasi kullanilabilir hafiza limitini aşmış oluyor

    kullanıcıya şu kadardan büyük dosya yükleyemezsinizde demek istemiyorum.

    alternatif herhangi birşey gören varmi acaba

    ilgilenenlere şimdiden teşekkürler
  • 06-07-2009, 10:53:27
    #2
    Eposta Aktivasyonu Gerekmekte
    boyutlandırcağınız dosyayı açtıktan sonra bu dosyanın boyutlarını almak istiyorsunuz yanlış anlamadıysam

    $img=imagecreatefromjpeg("resim.jpg"); 
    $genislik=imagesx($img);
    $yukseklik=imagesy($img);
    çok sevdiğim bir keratadır bu fonksiyon
  • 06-07-2009, 16:58:05
    #3
    Alıntı
    <?php
    header ("Content-type: image/jpeg");
    /*
    JPEG / PNG Image Resizer
    Parameters (passed via URL):

    img = path / url of jpeg or png image file

    percent = if this is defined, image is resized by it's
    value in percent (i.e. 50 to divide by 50 percent)

    w = image width

    h = image height

    constrain = if this is parameter is passed and w and h are set
    to a size value then the size of the resulting image
    is constrained by whichever dimension is smaller

    Requires the PHP GD Extension

    Outputs the resulting image in JPEG Format

    By: Michael John G. Lopez - Sydel Computer and Technologies
    Filename : imgsize.php
    */

    $img = $_GET['img'];
    $percent = $_GET['percent'];
    $constrain = $_GET['constrain'];
    $w = $_GET['w'];
    $h = $_GET['h'];

    // get image size of img
    $x = @getimagesize($img);
    // image width
    $sw = $x[0];
    // image height
    $sh = $x[1];

    if ($percent > 0) {
    // calculate resized height and width if percent is defined
    $percent = $percent * 0.01;
    $w = $sw * $percent;
    $h = $sh * $percent;
    } else {
    if (isset ($w) AND !isset ($h)) {
    // autocompute height if only width is set
    $h = (100 / ($sw / $w)) * .01;
    $h = @round ($sh * $h);
    } elseif (isset ($h) AND !isset ($w)) {
    // autocompute width if only height is set
    $w = (100 / ($sh / $h)) * .01;
    $w = @round ($sw * $w);
    } elseif (isset ($h) AND isset ($w) AND isset ($constrain)) {
    // get the smaller resulting image dimension if both height
    // and width are set and $constrain is also set
    $hx = (100 / ($sw / $w)) * .01;
    $hx = @round ($sh * $hx);

    $wx = (100 / ($sh / $h)) * .01;
    $wx = @round ($sw * $wx);

    if ($hx < $h) {
    $h = (100 / ($sw / $w)) * .01;
    $h = @round ($sh * $h);
    } else {
    $w = (100 / ($sh / $h)) * .01;
    $w = @round ($sw * $w);
    }
    }
    }

    $im = @ImageCreateFromJPEG ($img) or // Read JPEG Image
    $im = @ImageCreateFromPNG ($img) or // or PNG Image
    $im = @ImageCreateFromGIF ($img) or // or GIF Image
    $im = false; // If image is not JPEG, PNG, or GIF

    if (!$im) {
    // We get errors from PHP's ImageCreate functions...
    // So let's echo back the contents of the actual image.
    readfile ($img);
    } else {
    // Create the resized image destination
    $thumb = @ImageCreateTrueColor ($w, $h);
    // Copy from image source, resize it, and paste to image destination
    @ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh);
    // Output resized image
    @ImageJPEG ($thumb);
    }
    ?>

    imgsize.php olarak kaydediyoruz.

    Alıntı
    imgsize.php?w=125&h=125&constrain=1&img=resim/yolu/resim.jpg

    olarakta kullanıyoruz.
  • 06-07-2009, 17:57:09
    #4
    Üyeliği durduruldu
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    büyük boyutlu dosyalarda resmi tekrar boyutlandirmak için getimagesize ile resmin en boy oranlarini almak istedigimde php dosyasi kullanilabilir hafiza limitini aşmış oluyor
    kullanıcıya şu kadardan büyük dosya yükleyemezsinizde demek istemiyorum.
    alternatif herhangi birşey gören varmi acaba
    ilgilenenlere şimdiden teşekkürler
    resim dosyasının boyutu ne kadar öyle? php.ini den memory_limit e bi bak istersen. çok düşük ayarlanmışsa ondan olabilir.
  • 06-07-2009, 17:59:47
    #5
    Üyeliği durduruldu
    MC_delta_T adlı üyeden alıntı: mesajı görüntüle
    resim dosyasının boyutu ne kadar öyle? php.ini den memory_limit e bi bak istersen. çok düşük ayarlanmışsa ondan olabilir.
    32 mb yaptim en son php.inide değiştirip ama 4 mb lik resim dosyasini açarken miciyor.

    @Dualwarior un verdigi kodda bir test yapayim akşam mantıklı olabilir.

    @ulast bey e de teşekkürler de zaten resize yapabiliroyum. ilgili fonksiyonla ilgili problemim var sadece