• 23-06-2015, 16:28:49
    #1
    Üyeliği durduruldu
    Merhaba Arkadaşlar...

    Aşağıdaki kodlar ile toplu resim kaydı yapıyorum. Siteye onlarca araç eklenıyor ve eklenen araçların resımlerı yüksek dosya boyutunda yüklenıyor. bu nedenle bu resimlerın eklenırken dosya boyutunun küçültülmesi gerekiyor. Araştırdım bir türlü bulamadım. Acil olarak yardımcı olabilirseniz çok sevinirim.

    $resimler = array(); // resimler adlı dizgi oluştur
        
        
        $klasor="resimler";
        $dosya_sayi=count($_FILES['dosya']['name']);
        for($i=0;$i<$dosya_sayi;$i++){
            if(!empty($_FILES['dosya']['name'][$i])){
                move_uploaded_file($_FILES['dosya']['tmp_name'][$i],$klasor."/".$_FILES['dosya']['name'][$i]);
                $resimler[] = $_FILES['dosya']['name'][$i]; // resim ismini yeni bir değişken yerine dizginin içine at
            }
        }
    	
    	if($_POST){//Form gönderildi mi?
    	if ($_FILES["onresim"]["size"]<2024*2024){//Dosya boyutu 1Mb tan az olsun
    		if ($_FILES["onresim"]["type"]=="image/jpeg" or "image/png" or "image/jpg"){//dosya tipi
    			
    			$dosya_adi=$_FILES["onresim"]["name"];
    			//Dosyaya yeni bir isim oluşturuluyor
    			$uret=array("as","rt","ty","yu","fg");
    			$uzanti=substr($dosya_adi,-4,4);
    			$sayi_tut=rand(1,10000);
    			$yeni_ad="resimler/".$uret[rand(0,4)].$sayi_tut."".$uzanti;
    			//Dosya yeni adıyla dosyalar klasörüne kaydedilecek
    			if (move_uploaded_file($_FILES["onresim"]["tmp_name"],$yeni_ad)){
        
       $arackaydet= mysql_query ("insert into araclar (vitrin, baslik, fiyat, model, aracserisi, renk, vites, km, hp, yakit, marka, kasatipi, doseme, mtv, kaskodegeri, donanim, ithalatdurumu, garanti, yedekanahtarlar, serviskitaplari, aracdosyasi, fatura, kredi, plaka, sasino, ekspert, kondisyon, tramer, ilantarihi, onecikanresim, yil) values ('$vitrin' , '$baslik' , '$fiyat' , '$model' , '$aracseri' , '$renk' , '$vitestipi' , '$km' , '$hp' , '$yakit' , '$marka' , '$kasatipi' , '$dosemesi' , '$mtv' , '$kaskodegeri' , '$donanim' , '$ithalatdurumu' , '$garanti' , '$yedekanahtar' , '$serviskitaplari' , '$aracdosyasi' , '$fatura' , '$kredi' , '$plaka' , '$sasino' , '$expertiz' , '$kondisyon' , '$tramer' , '$ilantarihi' , '$yeni_ad', '$yil')");
       
       
       }}}}
    
        
        # şimdi tüm resimleri tabloya JSON formatında ekleyeceğiz
        $resimJSON = json_encode($resimler); // resimleri JSON formatına çeviriyoruz
        $resimJSON = mysql_real_escape_string($resimJSON); // bu düzeltmeyi form verileri için yapıyor olsanız dahi JSON formatı için ayrıca yapılması gerekir
        $id = mysql_insert_id(); // tabloya kaydedilen aracın ID'si
        $sorgu2 = mysql_query("UPDATE araclar SET resim = '".$resimJSON."' WHERE id = '".$id."'");
        
        if ($arackaydet) {echo "oldu";} else {echo "olmadi";}
  • 24-06-2015, 11:20:21
    #2
    hocam upload class yada resizer class şeklinde arama yapsaydınız denk gelirdiniz.
    bunun için en güzel sınıflardan biri verot upload sınıfıdır, hem yükleme işlemini yapar hemde resim üzerinde oynama yapabilirsiniz.

    ikinci seçenek olarakta https://github.com/claviska/SimpleImage buradaki sınıfı kullnabilirsiniz.
  • 25-06-2015, 11:21:49
    #3
    Üyeliği durduruldu
    hocam benım yapamadıgım olay şu: bu class ı benım kodlarım arasında nereye ekleyeceğim ?
  • 25-06-2015, 12:18:34
    #4
    if (move_uploaded_file($_FILES["onresim"]["tmp_name"],$yeni_ad)){
    hemen bu satırın altına

    try {
    $img = new SimpleImage();
    $img->load($yeni_ad)->resize(50, 50)->save($yeni_ad);
    } catch(Exception $e) {
    echo $e->getMessage();
    }

    bu kısmı ekleyin hocam.

    $resimler = array(); // resimler adlı dizgi oluştur
    bu satırın üstünede sınıfı include edersiniz. sıkıntı kalmaz hocam. include 'SimpleImage.php';
  • 26-06-2015, 10:55:38
    #5
    Üyeliği durduruldu
    hocm dediğinizi aynen yaptım. aldıgım sonuc ise şu: herhangi bir hata vermedi, beyaz ekran çıktı. klasöre baktım resimleri atmıs ama resimlerın dosya boyutunu küçültmemiş ve ayrıca eklenen aracı veritabanına eklemedi. acaba dosyları mı yanlıs şekilde attım sunucuya. simpleimage.php dosyasını direkt sunucuya aktım ve çağırdım baska hiç bir dosya atmadım indirdiğim zip içerisinden.