• 05-01-2011, 01:42:38
    #1
    Arkadaşlar selam herkese ; bana yardımcı olacak arkadaşlara şimdiden teşekkür ediyorum. sorunum: esnek javascriptli bir resim formumdan veritabanına resim kayıt ediyorum, fakat 2 farklı (big, samll) klasöründen big'e yüklüyorum . aynı resmi "small " a yükllüyemedim.
    BU SATIRDA: //if(yukle($tmpisim,$yeni) and yukleSmall($tmpisim,$yeni)){//
    //and yukleSmall($tmpisim,$yeni)// satırı işlemden KALDIRDIĞIMDA sorunsuz çalışıyor. dahil ediyor. fakat başarısız.


    <?php
    include("ayar.php");
    $maxboyut=1024*1024;
    $gecerli=array('jpg','jpeg','gif','png');
    $klasor='upload/';
    
    	$folderTmp 	= "tmp/";
    	$folderBig 	= "Big/";
    	$folderSmall = "thumbs/";	
    	
    function uzanti_bul($dosyaadi){ 
        $dosyaadi = strtolower($dosyaadi); 
        return end(explode(".", $dosyaadi)); 
    }
    
    function dosya_boyut($boyut){
        global $maxboyut;
        return ($maxboyut < $boyut) ? True : False;
    }
    function uzanti_kontrol($isim){
        global $gecerli;
        $uzanti=uzanti_bul($isim);
        return !in_array($uzanti,$gecerli) ? True : False;
    }
    
    function yukle($dosya,$yeni){
        global $folderBig, $prefix;	
        return move_uploaded_file($dosya,$folderBig.$yeni) ? True : False;
        
    }
    function yukleSmall($dosya,$yeni){
        global $folderSmall, $prefix;	
        return move_uploaded_file($dosya,$folderSmall.$yeni) ? True : False;
        
    	
    }
    if($_POST['yukle']){
    	$say=count($_FILES['resimler']['name']);
    	$dosyalar=array();
    	
    	for($i=0;$i<=$say;$i++){
    		$baslik=$_POST["baslik"];
    		if(@$_FILES['resimler']['name'][$i]!=""){
    		$isim=$_FILES['resimler']['name'][$i];
    		$boyut=$_FILES['resimler']['size'][$i];
    		$tmpisim=$_FILES['resimler']['tmp_name'][$i];
    		$uzanti=uzanti_bul($isim);
    		$yeni=substr(md5(rand(0,100).time()),0,10).'.'.$uzanti;
    			//dosya_boyut($boyut) ? die('Dosya Boyutu') : '';
    			//uzanti_kontrol($isim) ? die('Uzantı Hatası') : '';
    	
    	
    		if(yukle($tmpisim,$yeni) and yukleSmall($tmpisim,$yeni)){
    			array_push($dosyalar,$yeni);
    			
    			$ogrenciler=implode(";",$dosyalar);
    				$ekle =mysql_query("INSERT INTO tablo (resim1, resim2)values('$baslik','$ogrenciler')");
    						if($ekle){
    						echo(	"ekleme başlarılı ");
    						}else{
    						echo	("ekleme başlarız");
    						}
    			
    			}else{
    				die('Dosya Kopyalanamadı');
    			}    
    
    
    
    
    
    
        }//for
      }
    }
    
    
    
    ?>
  • 05-01-2011, 19:35:35
    #2
    Yüklenen dosyayı iki kez move_uploaded_file fonksiyonuyla taşıyamazsınız. copy fonksiyonunu kullanabilirsiniz.
  • 05-01-2011, 23:22:21
    #3
    hocam teşekkür ederim.
    2 farklı klasöre $klasor='Big/';$klasor1='thumbs/'; aynı resmi kaydediyorum.

    fakat http://sahikart.com/deneme/form.php burdan resim yükleyince implode ile resimler[] adlarının $resimler=implode(";",$dosyalar); gibi, aralarına [;] işareti ile bölerek 1 mysql tablo satırına kayıt yapma amacındayım.
    3 mysql tablo satırına birden kaydediyorum. anlamadım.
    çözemedim



    include("ayar.php");
    $maxboyut=10024*10024;
    $gecerli=array('jpg','jpeg','gif','png');
    $klasor='Big/';
    $klasor1='thumbs/';
    $klasor2='tmp/';
    
    function uzanti_bul($dosyaadi){ 
        $dosyaadi = strtolower($dosyaadi); 
        return end(explode(".", $dosyaadi)); 
    }
    
    function dosya_boyut($boyut){
        global $maxboyut;
        return ($maxboyut < $boyut) ? True : False;
    }
    function uzanti_kontrol($isim){
        global $gecerli;
        $uzanti=uzanti_bul($isim);
        return !in_array($uzanti,$gecerli) ? True : False;
    }
    
    function yukle($dosya,$resimadi){
        global $klasor, $prefix;	
        return copy($dosya,$klasor.$resimadi) ? True : False;   
    }
    
    function yukle1($dosya,$resimadi){
        global $klasor1, $prefix;	
        return move_uploaded_file($dosya,$klasor1.$resimadi) ? True : False;   
    }
    
    
    if($_POST['yukle']){//Yüklemek icin herhangi bir islem baslatilmissa
    	$say=count($_FILES['resimler']['name']);
    	$dosyalar=array();
    	
    	for($i=0;$i<=$say;$i++){	
    		$baslik=$_POST["baslik"];
    	 		
    		 if(@$_FILES['resimler']['name'][$i]!=""){
    			$isim=$_FILES['resimler']['name'][$i];
    			$boyut=$_FILES['resimler']['size'][$i];
    			$kaynak=$_FILES['resimler']['tmp_name'][$i];
    			$uzanti=uzanti_bul($isim);
    			$resimadi=substr(md5(rand(0,100).time()),0,10).'.'.$uzanti;
    				//dosya_boyut($boyut) ? die('Dosya Boyutu') : '';
    				//uzanti_kontrol($isim) ? die('Uzantı Hatası') : '';
    		
    			if(yukle($kaynak,$resimadi) ){		
    				array_push($dosyalar,$resimadi);
    					$resimler=implode(";",$dosyalar);
    							$ekle = mysql_query("INSERT INTO tablo (resim1, resim2 )values('$resimler', '$resimler' )");
    								if(yukle1($kaynak, $resimadi)){
    									echo $resimler."<br>&nbsp;";
    								}else{
    								echo"dosya<br>----</br>".$klasor1."Yüklenemedi";
    								}
    	
    				}else{
    					die('Dosya Kopyalanamadı');
    				}    
    
        }//for
      }
    }
    ?>