yükleme büyük çok-images PHP + Imagick'teki ile sorun

0 Cevap php
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file[]" /><p />
<input type="file" name="file[]" /><p />
<input type="file" name="file[]" /><p />
<input type="submit" value="Uplaod" />
</form>

upload.php

for ($i=0; $i<=$_POST['file'].length; $i++) {

while($i <= 3)
  {

  $img[$i]     = $_FILES['file']['name'][$i];
  $tmpPath[$i] = $_FILES['file']['tmp_name'][$i];
  $i++;

  }
}

$imgDir  ="uploads";
$resDir  ="resized";
$thumbDir="thumbs";

$i = 0;

while($i <= 3)
{

if (move_uploaded_file($tmpPath[$i],"$imgDir/$img[$i]"))
  {
  $resize = createResizedIMK($img[$i], $imgDir, $resDir, "resized-", 2);
  $thumb  = createThumbIMK($img[$i], $imgDir, $thumbDir, "thumb-", 150, 150);
  unlink($imgDir.'/'.$img[$i]);
  }

  $i++;
}

küçük çoklu görüntü veya iki küçük görüntüler ve bir büyük resim upload bu eseridir

upload zaman ancak üç büyük görüntüler şey çok hiç hata oldu.

how can i fix this problem and be able to upload large images, what i know that that imagick do fine with big images because that i used this two function:

$resize = createResizedIMK($img[$i], $imgDir, $resDir, "resized-", 2);
$thumb  = createThumbIMK($img[$i], $imgDir, $thumbDir, "thumb-", 150, 150);

kendi php fonksiyonu ImageMagick kullanılan i id işlevi koymak zorunda değilsiniz düşünüyorum ama belki yardımcı olur.

function createResizedIMK($img, $imgPath, $thumbDir, $suffix, $by) {
  // add in the suffix after the '.' dot.
    $newNameE = explode(".", $img);
    $newName = ''. $suffix .''. $newNameE[0] .'.'. $newNameE[1] .'';

  // ImageMagicK doesnt like '/' and 'x' characters in the command line call.
  // And workout the size based on '$by'.
    $uploadedImg = ''. $imgPath .'/'. $img .'';
    $newResized = ''. $thumbDir .'/'. $newName .'';
    list($width, $height, $type, $attr) = getimagesize("$imgPath/$img");
    $newWidth = ($width/$by);
    $newHeight = ($height/$by);
    $newRes = ''. $newWidth .'x'. $newHeight .'';

  // This makes a command line call to ImageMagicK.
  // My path to ImageMagicK Convert is '/usr/lib/php/bin/convert'
  // 'convert' is a program (UNIX) so no forward slash.
    $cr = system("/usr/bin/convert -resize $newRes $uploadedImg $newResized", $retval);

    return $cr;
}

Başka bir soru ben de kalitesini azaltmak istiyorum çünkü işlevi dönüştürmek komutunda 'kaliteli 50' eklendi, ama işe yaramadı ve görüntü yüklemek vermedi.

bu nedenle bu özetidir:

  • i imagick useing yaşıyorum beri çok büyük görüntüleri yüklemek mümkün olmak istiyorum.
  • nasıl ben yukarıdaki fonksiyonu ile kalitesini düşürebilir

, teşekkür ederim

0 Cevap