• 11-03-2014, 12:28:49
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar 2-3 gündür üzerinde uğraştığım bir scriptçik vardı. Tamamladım ve paylaşmak istedim. Belki biryerde birine lazım eder.

    Bu arada bunu geliştirmek de gerekiyor. Mesela ben sadece dosyanın boyutunu ve uzantısını kontrol ettiriyorum. Bu konuda geliştirme yapmak isteyen varsa ve paylaşırsa güzel olur

    Aynı şekilde

    Deprecated: Assigning the return value of new by reference is deprecated in

    hatasını ben hatayı göstertmemekle buldum ama daha doğru bir çözümü olan varsa geliştirmeye yardımcı olur.

    Keyifli kullanımlar dilerim

    <?php
    
    // Hata göstermesini engelliyorum
    error_reporting(E_ALL);  
          
        ini_set("display_errors", false);  
        ini_set("display_startup_errors", false);  
        ini_set("html_errors", false);  
    
    // Classı çağırıyorum
    require_once 'excel/reader.php';
    
    // Yüklenecek dosyayı belirliyoruz ve yeni isim veriyoruz
    $Dturu=array("application/vnd.ms-excel");
    $Duzanti=array("xls");
    if(isset($_POST['gonder']))
    {
    $kaynak     =$_FILES['excel']['tmp_name'];
    $excel      =$_FILES['excel']['name'];
    $boyut      =$_FILES['excel']['size'];
    $turu       =$_FILES['excel']['type'];
    $uzanti     =substr($excel,strpos($excel,'.')+1);
    $yeniAd     =substr(uniqid(md5(rand())),0,35).'.'.$uzanti;
     
    $hedef      ="dosyalar/"; //farklı bir klasöre yüklemek herzaman iyidir.
    
    
    // Kontrol mekanizmaları iş başında
        if($kaynak)
        {
            if(!in_array($turu,$Dturu) && !in_array($uzanti,$Duzanti))
            {
             
                echo "Lütfen Bir Excel Dosyası Seçiniz";
            }
            else if($boyut>1024*1024*1024)
            {
                echo "Dosyanızın Boyutu 1MB yüksek Olmamalı";
            }
            else
            {
             
                if(move_uploaded_file($kaynak,$hedef.$yeniAd))
                {
    				
            // Kontrolü geçebildiysek gümbürtü kopmaya başlıyor //
            
    			   
    	$data = new Spreadsheet_Excel_Reader(); //classımızı oluşturuyoruz.
        $data->setOutputEncoding('ISO-8859-9');
        $data->read("dosyalar/".$yeniAd); //Okunacak dosyamızı tanımlıyoruz.
    
    
    
    
    	   //SQL BAĞLANTI
    	   
    	   function mysql_conn(){
        $username = "oguzhan_test";//"root";
        $password = "123456";
        $database = "oguzhan_test";
        $hostname = "localhost"; //"localhost";
     
        $db = mysql_connect($hostname,$username,$password) or die ("MYSQL BAĞLANTI HATASI");
        mysql_select_db($database,$db) or die("MYSQL VERİTABANI HATASI");    
        return $db;
    }
    	   
    	      
    	   
    	   
    	   // Veri Ekleme fonksiyonu
    	   
    	   function veriekle($st1,$st2,$st3,$st4,$row){
                    
                    //ID otomatik artacağı için null diyo
            $query = "INSERT INTO TeSt (
            `ID` ,
            `1` ,
            `2` ,
            `3` ,
            `4`
            )
            VALUES (
            NULL , '$st1', '$st2', '$st3', '$st4'
            );";
            //verileri ekle eğer hata olursa satır numarasını belirterek ekrana yazdır.
            mysql_query($query,mysql_conn()) or print(mysql_error())."Satir : $row \n";    
     
            
    }						
    				
           for ($row = 2; $row <= $data->sheets[0]['numRows']; $row++)
        {
            
     
            $st1 = mb_convert_encoding( $data->sheets[0]['cells'][$row][1],"UTF-8","ISO-8859-9");
            $st2 = mb_convert_encoding( $data->sheets[0]['cells'][$row][2],"UTF-8","ISO-8859-9");
            $st3 = mb_convert_encoding( $data->sheets[0]['cells'][$row][3],"UTF-8","ISO-8859-9");
            $st4 = mb_convert_encoding( $data->sheets[0]['cells'][$row][4],"UTF-8","ISO-8859-9");
                   
            veriekle($st1,$st2,$st3,$st4,$row);    
            
    	echo "...".($row-1)." eklendi<br>";	
            
        }
    	   
    	echo "bitti gitti geçmiş olsun";   
    	   	   
              
                    
                }
                else
                {
                 
                    echo "Dosya yükleme işlemi başarısız oldu";
                }
                 
            }
         
        }
        else
        {
        echo "Lütfen bir Dosya Seçiniz...";
         
        }
     
     
    }
    ?>
  • 11-03-2014, 14:12:18
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @oguzhan306; hangi satırda hata veriyor?
  • 11-03-2014, 16:46:07
    #3
    Deprecated: Assigning the return value of new by reference is deprecated in /home/www/qqq.com/excel/reader.php on line 261
    ...1 eklendi
    ...2 eklendi
    ...3 eklendi
    ...4 eklendi
    ...5 eklendi
    ...6 eklendi
    ...7 eklendi
    ...8 eklendi
    bitti gitti geçmiş olsun
    hata göstermeyi açtım ve yukarıdaki hatayı verdi. verdikten sonra işlemleri yaptı, veritabanını kontrol ettim, eklemeyi de yapmış. sunucumda php 5.3 aktif. biraz araştırdım anladığım kadarıyla php 5.3 le gelmeye başlamış bu hata. hatayı göstertmeyince sıkıntı yok, ama hata yapmasıda hoş değil tabi
  • 15-06-2015, 01:38:37
    #4
    hocam buradaki kullandığınız class dosyasınıda paylaşabilir misiniz?