Resmin boyutunu küçültüpte kaydetmek istiyorum nasıl yapabilirim?.
Resmin boyutunu küçültüpte kaydetmek istiyorum nasıl yapabilirim? Kodların birazı aşağıda. Toplam 4 resim ekleyebilecek üye olan. Ama serverdaki otores klasörüne yollarken 600 450 boyutunda yollasın istiyorum. Adam 5 MP kamerayla fotoğraf çekmiş oda bi tanesi 4 5 MB boyutunda yollamak istiyor. Zaten alanım 50 MB bunu nasıl küçültüpte yollatırım servera.Şu an koddanda anlayacağınız gibi sadece 600 KB resme izin veriyo. Yaptım kodlar. Önlemimi bu şekilde aldım ama bu biraz ilkel bi yöntem. Bunu nasıl istedim şekilde düzenlerim. Yani 600 X 450 piksel olarak kaydetsin sistem baya baktım ama bulamadım istedim şekli.
if ($_SESSION["uyead"])
{
$kullanici=$_SESSION["uyead"];
$id=$_GET["id"];
$f1=$_FILES["file1"];
$f2=$_FILES["file2"];
$f3=$_FILES["file3"];
$f4=$_FILES["file4"];
$f1t=$_FILES["file1"]["type"];
$f2t=$_FILES["file2"]["type"];
$f3t=$_FILES["file3"]["type"];
$f4t=$_FILES["file4"]["type"];
if(($f1!="" and $f1t=="image/pjpeg") or ($f2!="" and $f2t=="image/pjpeg") or ($f3!="" and $f3t=="image/pjpeg") or ($f4!="" and $f4t=="image/pjpeg"))
{
if($id!="" && is_numeric($id))
{
$sor=mysql_query("select resimdurum from otoilan where id='$id' and ilanveren='$kullanici'");
if(mysql_num_rows($sor)>0)
{
$klasor_adi="otores/".$id;
if(file_exists($klasor_adi))
{
$kaynak= $_FILES["file1"]["tmp_name"];
$resim=$_FILES["file1"]["name"];
$tipi=$_FILES["file1"]["type"];
$rboyut=$_FILES["file1"]["size"];
$ruzanti=substr($resim, -4);
$yeniad=substr(uniqid(md5(rand())),0,10);
$yeniresim=$yeniad.$ruzanti;
if ($kaynak=="")
{
echo "<br><br><b><font color=#ff0000>Hata :</font> 1. Resimi seçmediniz. Yüklenemedi</b><br><br>";
}
else if($rboyut>600000)
{
echo "<br><br><b><font color=#ff0000>Hata :</font> 1. resmin Gönderilemedi. Resmin boyutu en fazla 600 KB dan fazla olmamalıdır</b><br><br>";
}
else if($tipi!="image/pjpeg" && $tipi!="image/gif" && $tipi!="image/x-png")
{
echo "<br><br><b><font color=#ff0000>Hata :</font> 1. Göndermek istediğiniz resim dosyası değildi. Yollanamadı.</b><br><br>";
}
else
{
if(@move_uploaded_file($kaynak,$klasor_adi.'/'.$yeniresim))
{
echo "<br><br><b>OLUMLU :</b> 1. Resim başarıyla yüklendi.<br><br>";
}
else
{
echo "<br><br><b>OLUMSUZ :</b> 1. Resim Yüklenemedi.<br><br>";
}
}
Yardım ederseniz sevinirim yoksa işimden olacam. :(
Php
herhangi bir döngü göremedim. bu durumda sadece birinci resim kaydedilir.
$kaynak= $_FILES["file1"]["tmp_name"];
bir döngü ile dört resmi de kaydetmek lazım.
küçültme için gerekli kodlar sitemizde var. (zaten onun altına da aynı soruyu yazmışsınız)
Php
Sadece biri üzerinden örnek vermek istedim bi tanesini çözersem diğerlerinide ben oluşturup burdada yayınlayabilirim. Baya hazır kod var ama istediğim şekilde değil. Orjinalinide kaydediyo küçültülmüş halinide. Ben sadece file nesnesinden seçilen resmi küçültüp küçültülmüş halini servera yollamak istiyorum. Bunu yapamadım. Belki hazır kodların arasında vardı ama yaptığım kodlara adapte edemedim.
Php
O cevapa baksana resmi nasıl küçültüyor drekon. Önce servera alıyor sonra küçültülmüş halini başka bir klasöre ekliyor. Benim istediğim sadece küçültülmüşünü servera yollamak. Hem orjinal halini hemde küçültülmüş halini değil. o kodlarda önce orjinalini servera çekiyor. Server a çektiiği orjinal büyük resmi küçültüp gene serverdaki başka bir klasöre kopyalıyor. O kodlar hiçbir şekilde işimi görmüyor. Ben servera çekmeden Client te küçültüp servera göndermek istiyorum. Yani ziyaretçinin bilgisayarında küçültüp servera yollamak resmi
Php
kullanıcı tarafında küçültebilen birşeyi şu ana kadar hiç görmedim. mümkün olduğunu da zannetmiyorum çünkü internet tarayıcılar böyle bir işleme izin vermez. hatta dosyanın kaç Mb olduğunu bile kullanıcı tarafından öğrenemezsin.
üzgünüm. güvenlik sebebi ile bu böyle. (şimdilik)
Php
Anladını zannetmiyorum drekon. Peki sadece küçültülmüş boyutunu servera göndermek istesek resimin. Yani forumdaki kodda 2 halinide gönderiyo resmin. Bi orjinal resmini bide küçültülmüş resmini
Php
gayet iyi anladım. fakat sen inanmak istemiyorsun
iki seçeneğin var:
1- Resmi sunucuya gönder. orada php ile istediğin boyda, istediğin kadar kopya al
2- Resmi photoshop ile küçült. sunucuya gönder.
Php
Sunucya dosya göndermeden o dosya hakkında bilgi alamazsın. Amacını öğrenebilirsek aslında dahada yardımcı olabiliriz.
Eğer amacın sunucuda büyük resmi kaydetmemek ise resmi küçülttükten sonra sunucudan büyük resmi silebilirsin.
yada JQuery nin ImageCrop plugini mevcut bunu kullanarak çok seçenekli bir küçültme arayüzün olmuş olur ve büyük resimi yine sunucda tutmamış olursun.
Fakat DREKON'unda dediği gibi;
üzgünüm. güvenlik sebebi ile bu böyle. (şimdilik)