Bu yüzden, birkaç saat boyunca bu işin üzerinde kaldım. Bunun için herhangi bir çözüm bulmaktan yoruldum ama çözüm bulamadı. Yani herhangi bir yardım büyük beğeni topluyor.Görüntüyü bir klasörde saklamadan yeniden boyutlandırma nasıl olur
Benim Sayı: Birden fazla resim yüklemek için formu kullanıyorum
. Verilerin birden fazla sunucuda yedeklenmesi nedeniyle bunları veritabanında saklamak zorundayım. Görüntüleri klasörde saklamak bir çözüm değil. Görüntüyü veritabanına kaydedebileceğimi düşünüyor, ancak yüklenen tüm görüntülerin küçük resmini oluşturmam gerekiyor. Yani bu benim sorunum, bu tmp dosyalarından nasıl küçük resim oluşturabilirim. Çalışmıyor imagecreate kullanmak için yaratıldım, bu minik resmin içeriğini almak ve veritabanına kaydedemiyorum.
Bu, içeriği döndürmeyen görüntüyü yeniden boyutlandırmak için kullandığım bir koddur. Şu anda sadece yüklenen tüm dosyaları görüntüler:
function resize_image($file, $w, $h, $crop=FALSE) {
list($width, $height) = getimagesize($file);
$r = $width/$height;
if ($crop) {
if ($width > $height) {
$width = abs(ceil($width-($width*abs($r-$w/$h))));
} else {
$height = abs(ceil($height-($height*abs($r-$w/$h))));
}
$newwidth = $w;
$newheight = $h;
} else {
if ($w/$h > $r) {
$newwidth = $h*$r;
$newheight = $h;
} else {
$newheight = $w/$r;
$newwidth = $w;
}
}
$src = imagecreatefromjpeg($file);
$dst = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
return $dst;
}
Bu
formu yayınlanmıştır sonra kullanılan benim kodudur.for($i=0;$i< count($_FILES['upload_file']['tmp_name']);$i++)
{
$size = getimagesize($_FILES['upload_file']['tmp_name'][$i]);
$name = $_FILES['upload_file']['name'][$i];
$type = $size['mime'];
$file_size_bits = $size['bits'];
$file_size_width = $size[0];
$file_size_height = $size[1];
$name = $_FILES['upload_file']['name'][$i];
$image_size = $size[3];
$uploadedfile = $_FILES['upload_file']['tmp_name'][$i];
$tmpName = base64_encode(file_get_contents($_FILES['upload_file']['tmp_name'][$i]));
$sImage_ = "data:" . $size["mime"] . ";base64," . $tmpName;
echo '<p>Preview from the data stored on to the database</p><img src="' . $sImage_ . '" alt="Your Image" />';
}
Yüklenmekte olan bu dosyaların küçük resimlerini oluşturmam gerekiyor. Bunu nasıl başarırım?
Lütfen bildiriniz.
Yardımlarınız için teşekkürler.
Alkış
Eğer ImageMagick kullanarak denediniz mi? http://www.imagemagick.org/Usage/thumbnails/ – Willcodeforfun