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...";
}
}
?>