PHP ile bir form ile teslim edildikten sonra bir fotoğrafı yeniden boyutlandırmak

4 Cevap php

Ben bir MySQL tablosu çalışan bilgilerini ekler ve ben dosyaya tek bir fotoğraf eklemek için gereken bir form üzerinde çalışıyorum. Bu bir İçerik Yönetim Sisteminin bir parçası olduğu ve kullanıcıların fotoğraf yeniden boyutlandırmak için nasıl bilmiyorum, bu yüzden yüklenen sonra bir dizi boyutuna görüntüyü yeniden boyutlandırmak için gerekir. Bu nasıl PHP ile neler yapılabilir? Sadece yüklenen bir ölçek, ben bir küçük resim gerçekleştirmek için çalışıyorum değilim, unutmayın.

4 Cevap

Sen Verot 'nin php kontrol etmelisiniz upload class. Bu çok basit bir kodlama sayesinde tüm görüntü değiştirme seçeneği işler.

Örnek kod:

$foo = new Upload($_FILES['form_field']);
if ($foo->uploaded) {
  // save uploaded image with no changes
  $foo->Process('/home/user/files/');
  if ($foo->processed) {
    echo 'original image copied';
  } else {
    echo 'error : ' . $foo->error;
  }
  // save uploaded image with a new name
  $foo->file_new_name_body = 'foo';
  $foo->Process('/home/user/files/');
  if ($foo->processed) {
    echo 'image renamed "foo" copied';
  } else {
    echo 'error : ' . $foo->error;
  }
  // save uploaded image with a new name,
  // resized to 100px wide
  $foo->file_new_name_body = 'image_resized';
  $foo->image_resize = true;
  $foo->image_convert = gif;
  $foo->image_x = 100;
  $foo->image_ratio_y = true;
  $foo->Process('/home/user/files/');
  if ($foo->processed) {
    echo 'image renamed, resized x=100
          and converted to GIF';
    $foo->Clean();
  } else {
    echo 'error : ' . $foo->error;
  }
}

PHP kurulu için sunucu GD kütüphanesi var mı? (Değilse, bunu instlled alabilirim?)

PHP görüntü verileri ile çalışmak için fonksiyonları geniş bir yelpazeye sahiptir.

http://php.net/manual/en/book.image.php

(Eğer gerçekten ne bilmiyorum hala üzerinde ve bir göz atın eğer, bana bildirin ve ben biraz daha bilgi eklemek olacak)

Kolay bir çıkış yolu kullanmaktır timthumb. Bu, bitkiler yakınlaştırır ve kullanıcı isteği üzerine görüntüleri boyutlandırır.

PHP yüklemelerin çoğu gd kütüphanesi uzantısı yerleşik olarak. Insanlar burada çalıştırmak tipik sorun, onlar çok daha güzel çıktı üretir yerine imagecopyresampled kullanarak imagecopyresized açıkça-name () function (çirkin görüntüler oluşturabileceğiniz), (), kullanmayı deneyin olmasıdır.

Sunucu ImageMagick yüklüyse, genellikle ImageMagick götürmek için güzel bir kabuk komut oluşturarak biraz daha güzel sonuçlar elde edebilirsiniz.