Resmin boyutunu küçültüpte kaydetmek istiyorum nasıl yapabilirim?.

tamer_27Tamer Demir

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. :(

2010-10-10 23:40:21

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)

Her programcı birgün Php yi tadacaktır
2010-10-11 02:50:56

Php

tamer_27Tamer Demir

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.

2010-10-12 01:38:23 Edit:2010-10-12 22:47:35

Php

tamer_27Tamer Demir

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

2010-10-15 20:25:52

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)

Her programcı birgün Php yi tadacaktır
2010-10-16 08:14:33

Php

tamer_27Tamer Demir

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

2010-10-17 12:30:49

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.

Her programcı birgün Php yi tadacaktır
2010-10-19 09:17:30

Php

nssasmazNursin ŞaşmazAvatar

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;

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)
Gitme vakti gelince gitmek mi zordur kalmak mı?
2010-10-21 12:52:12

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro