• 0216 488 01 91
  • destek@sonsuzbilgi.com.tr

Emlak Web Sitesi

Büyümeyi hayal etmeyin, bugün başlayın...

*256 Bit SSL Sertifikası * Full Mobil Uyumlu * Full SEO Uyumlu
İsterseniz Mobil Uygulama Seçeneğiyle


PHP Veritabanı Bağlantısı ile CSV ve Excel Dosyalarına Veri Aktarma

Adı : PHP Veritabanı Bağlantısı ile CSV ve Excel Dosyalarına Veri Aktarma

PHP Veritabanı Bağlantısı ile CSV ve Excel Dosyalarına Veri Aktarma

PHP, çeşitli veri kaynaklarına bağlanarak veri işlemek için kullanılabilen güçlü bir programlama dilidir. Bu yazıda, PHP'nin temel özellikleri ile birlikte, verileri CSV ve Excel dosyalarına aktarmak için nasıl bir PHP uygulaması yazabileceğinizi öğreneceksiniz.

Veritabanı Bağlantısı Yapmak

Öncelikle, veritabanı bağlantısı yapmak için PHP'nin dahili veritabanı sürücüsü olan PDO'yu kullanıyoruz. Aşağıdaki örnekte, bir MySQL veritabanına bağlanacağız:

```php
try {
$pdo = new PDO(\"mysql:host=localhost;dbname=mydatabase\", \"username\", \"password\");
} catch (PDOException $e) {
die(\"Bağlantı hatası: \" . $e->getMessage());
}
```

Bu kodda, öncelikle bir PDO nesnesi oluşturuyoruz. PDO, veritabanına bağlantı sağlamak için kullanılan sınıfın adıdır. İlk parametre, veritabanı sunucusunun adı ve veritabanı adıdır. İkinci parametre, veritabanına erişim için kullanılan kullanıcı adıdır. Üçüncü parametre ise kullanıcının şifresidir.

Eğer hata varsa, bu kodda tanımlanan try-catch bloğunun içinde die() fonksiyonunu kullanarak hata mesajını görüntüleyebiliriz.

CSV Dosyasından Veri Alma

CSV dosyasından veri almak için, PHP'nin dahili fonksiyonları arasında yer alan file() fonksiyonunu kullanabilirsiniz. Aşağıdaki örnek, \"veriler.csv\" adlı CSV dosyasından veri okuyarak, bu verileri bir diziye atar:

```php
if (($handle = fopen(\"veriler.csv\", \"r\")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, \",\")) !== FALSE) {
$veriler[] = $data;
}
fclose($handle);
}
```

Bu kodda, öncelikle \"veriler.csv\" adlı dosya açılır. Sonrasında, fgetcsv() fonksiyonu yardımıyla bir satır okunur ve virgülle bölünerek bir dizi haline getirilir. Bu dizi daha sonra $veriler dizisine eklenir.

Excel Dosyasından Veri Alma

Excel dosyasından veri okumak için, PHP'nin dahili sınıfı olan PHPExcel'i kullanabilirsiniz. Aşağıdaki örnek, \"veriler.xlsx\" adlı Excel dosyasından veri okuyarak, bu verileri bir diziye atar:

```php
require_once 'PHPExcel/Classes/PHPExcel.php';

$excel = PHPExcel_IOFactory::load(\"veriler.xlsx\");

foreach ($excel->getWorksheetIterator() as $worksheet) {
foreach ($worksheet->getRowIterator() as $row) {
$data = array();
foreach ($row->getCellIterator() as $cell) {
$data[] = $cell->getValue();
}
$veriler[] = $data;
}
}
```

Bu kodda, öncelikle PHPExcel sınıfı çağrılır. Sonrasında, \"veriler.xlsx\" adlı dosya yüklenir ve getWorksheetIterator() fonksiyonu kullanılarak dosyadaki sayfaların listesi alınır. Daha sonra, her bir sayfadaki satırlar ve hücreler üzerinde döngü yapılır ve hücre değerleri bir diziye eklenir.

CSV ve Excel Dosyalarına Veri Yazma

CSV dosyasına veri yazmak için, PHP'nin dahili dosya yazma işlevlerini kullanabilirsiniz. Aşağıdaki örnek, $veriler dizisindeki verileri \"veriler.csv\" adlı CSV dosyasına yazdırır:

```php
$file = fopen('veriler.csv', 'w');
foreach ($veriler as $line) {
fputcsv($file, $line);
}
fclose($file);
```

Bu kodda, öncelikle \"veriler.csv\" adlı dosya açılır. Sonrasında, $veriler dizisindeki her bir satır fputcsv() fonksiyonu yardımıyla virgülle bölünür ve dosyaya yazdırılır.

Excel dosyasına veri yazmak için, yine PHPExcel sınıfını kullanabilirsiniz. Aşağıdaki örnek, \"veriler.xlsx\" adlı Excel dosyasına $veriler dizisindeki verileri yazdırır:

```php
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);

$row = 1;
foreach ($veriler as $line) {
$col = 0;
foreach ($line as $cell) {
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $cell);
$col++;
}
$row++;
}

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('veriler.xlsx');
```

Bu kodda, öncelikle PHPExcel sınıfından bir nesne oluşturulur. Daha sonra, setActiveSheetIndex() fonksiyonu kullanılarak dosyanın ilk sayfasına geçiş yapılır. $veriler dizisindeki her bir satır, setCellValueByColumnAndRow() fonksiyonu kullanılarak ilgili hücreye yazdırılır. Son olarak, createWriter() fonksiyonu ile dosya formatı belirtilir ve save() fonksiyonu kullanılarak dosya kaydedilir.

Sık Sorulan Sorular (SSS)

S: PHPExcel'i yüklemeden Excel dosyalarından veri okuyabilir miyiz?
C: PHPExcel, bir dosya okuma/yazma kütüphanesi olduğu için, Excel dosyalarını okuyup yazmadan önce sınıfının yüklenmesi gereklidir.

S: Dosyaları nasıl yükleyebilirim?
C: Dosyaları PHP scriptiyle aynı klasöre koyun ve ilgili yükleyici sınıflarını (PHPExcel veya PDO vb.) yüklemeyi unutmayın.

S: Hangi veri formatları desteklenir?
C: PDO, MySQL, PostgreSQL, ODBC gibi veritabanı sürücüleri destekler. PHPExcel, Excel 95, 97, 2003, 2007, 2010, 2013 ve 2016 dosya formatlarını destekler.

S: Her satır için bir dizi halinde veri alırken, içeriğe belirli bir sıraya göre erişebilir miyiz?
C: Evet, fgetcsv() veya setCellValueByColumnAndRow() fonksiyonları, belirli bir sıraya göre erişim yapmanızı sağlar. Örneğin, fgetcsv() 2. parametresi ile sıraya göre belirtebilirsiniz.

S: Verileri okurken saklanması veya işlenmesi zor olan sayfalı (paginated) dosyaları okuyabilir miyiz?
C: Evet, her sayfayı tek tek geçmek ve veriyi okumak için işlemek mümkündür. Ancak, bu daha fazla karmaşıklık ve efor gerektirir."

PHP Veritabanı Bağlantısı ile CSV ve Excel Dosyalarına Veri Aktarma

Adı : PHP Veritabanı Bağlantısı ile CSV ve Excel Dosyalarına Veri Aktarma

PHP Veritabanı Bağlantısı ile CSV ve Excel Dosyalarına Veri Aktarma

PHP, çeşitli veri kaynaklarına bağlanarak veri işlemek için kullanılabilen güçlü bir programlama dilidir. Bu yazıda, PHP'nin temel özellikleri ile birlikte, verileri CSV ve Excel dosyalarına aktarmak için nasıl bir PHP uygulaması yazabileceğinizi öğreneceksiniz.

Veritabanı Bağlantısı Yapmak

Öncelikle, veritabanı bağlantısı yapmak için PHP'nin dahili veritabanı sürücüsü olan PDO'yu kullanıyoruz. Aşağıdaki örnekte, bir MySQL veritabanına bağlanacağız:

```php
try {
$pdo = new PDO(\"mysql:host=localhost;dbname=mydatabase\", \"username\", \"password\");
} catch (PDOException $e) {
die(\"Bağlantı hatası: \" . $e->getMessage());
}
```

Bu kodda, öncelikle bir PDO nesnesi oluşturuyoruz. PDO, veritabanına bağlantı sağlamak için kullanılan sınıfın adıdır. İlk parametre, veritabanı sunucusunun adı ve veritabanı adıdır. İkinci parametre, veritabanına erişim için kullanılan kullanıcı adıdır. Üçüncü parametre ise kullanıcının şifresidir.

Eğer hata varsa, bu kodda tanımlanan try-catch bloğunun içinde die() fonksiyonunu kullanarak hata mesajını görüntüleyebiliriz.

CSV Dosyasından Veri Alma

CSV dosyasından veri almak için, PHP'nin dahili fonksiyonları arasında yer alan file() fonksiyonunu kullanabilirsiniz. Aşağıdaki örnek, \"veriler.csv\" adlı CSV dosyasından veri okuyarak, bu verileri bir diziye atar:

```php
if (($handle = fopen(\"veriler.csv\", \"r\")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, \",\")) !== FALSE) {
$veriler[] = $data;
}
fclose($handle);
}
```

Bu kodda, öncelikle \"veriler.csv\" adlı dosya açılır. Sonrasında, fgetcsv() fonksiyonu yardımıyla bir satır okunur ve virgülle bölünerek bir dizi haline getirilir. Bu dizi daha sonra $veriler dizisine eklenir.

Excel Dosyasından Veri Alma

Excel dosyasından veri okumak için, PHP'nin dahili sınıfı olan PHPExcel'i kullanabilirsiniz. Aşağıdaki örnek, \"veriler.xlsx\" adlı Excel dosyasından veri okuyarak, bu verileri bir diziye atar:

```php
require_once 'PHPExcel/Classes/PHPExcel.php';

$excel = PHPExcel_IOFactory::load(\"veriler.xlsx\");

foreach ($excel->getWorksheetIterator() as $worksheet) {
foreach ($worksheet->getRowIterator() as $row) {
$data = array();
foreach ($row->getCellIterator() as $cell) {
$data[] = $cell->getValue();
}
$veriler[] = $data;
}
}
```

Bu kodda, öncelikle PHPExcel sınıfı çağrılır. Sonrasında, \"veriler.xlsx\" adlı dosya yüklenir ve getWorksheetIterator() fonksiyonu kullanılarak dosyadaki sayfaların listesi alınır. Daha sonra, her bir sayfadaki satırlar ve hücreler üzerinde döngü yapılır ve hücre değerleri bir diziye eklenir.

CSV ve Excel Dosyalarına Veri Yazma

CSV dosyasına veri yazmak için, PHP'nin dahili dosya yazma işlevlerini kullanabilirsiniz. Aşağıdaki örnek, $veriler dizisindeki verileri \"veriler.csv\" adlı CSV dosyasına yazdırır:

```php
$file = fopen('veriler.csv', 'w');
foreach ($veriler as $line) {
fputcsv($file, $line);
}
fclose($file);
```

Bu kodda, öncelikle \"veriler.csv\" adlı dosya açılır. Sonrasında, $veriler dizisindeki her bir satır fputcsv() fonksiyonu yardımıyla virgülle bölünür ve dosyaya yazdırılır.

Excel dosyasına veri yazmak için, yine PHPExcel sınıfını kullanabilirsiniz. Aşağıdaki örnek, \"veriler.xlsx\" adlı Excel dosyasına $veriler dizisindeki verileri yazdırır:

```php
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);

$row = 1;
foreach ($veriler as $line) {
$col = 0;
foreach ($line as $cell) {
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $cell);
$col++;
}
$row++;
}

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('veriler.xlsx');
```

Bu kodda, öncelikle PHPExcel sınıfından bir nesne oluşturulur. Daha sonra, setActiveSheetIndex() fonksiyonu kullanılarak dosyanın ilk sayfasına geçiş yapılır. $veriler dizisindeki her bir satır, setCellValueByColumnAndRow() fonksiyonu kullanılarak ilgili hücreye yazdırılır. Son olarak, createWriter() fonksiyonu ile dosya formatı belirtilir ve save() fonksiyonu kullanılarak dosya kaydedilir.

Sık Sorulan Sorular (SSS)

S: PHPExcel'i yüklemeden Excel dosyalarından veri okuyabilir miyiz?
C: PHPExcel, bir dosya okuma/yazma kütüphanesi olduğu için, Excel dosyalarını okuyup yazmadan önce sınıfının yüklenmesi gereklidir.

S: Dosyaları nasıl yükleyebilirim?
C: Dosyaları PHP scriptiyle aynı klasöre koyun ve ilgili yükleyici sınıflarını (PHPExcel veya PDO vb.) yüklemeyi unutmayın.

S: Hangi veri formatları desteklenir?
C: PDO, MySQL, PostgreSQL, ODBC gibi veritabanı sürücüleri destekler. PHPExcel, Excel 95, 97, 2003, 2007, 2010, 2013 ve 2016 dosya formatlarını destekler.

S: Her satır için bir dizi halinde veri alırken, içeriğe belirli bir sıraya göre erişebilir miyiz?
C: Evet, fgetcsv() veya setCellValueByColumnAndRow() fonksiyonları, belirli bir sıraya göre erişim yapmanızı sağlar. Örneğin, fgetcsv() 2. parametresi ile sıraya göre belirtebilirsiniz.

S: Verileri okurken saklanması veya işlenmesi zor olan sayfalı (paginated) dosyaları okuyabilir miyiz?
C: Evet, her sayfayı tek tek geçmek ve veriyi okumak için işlemek mümkündür. Ancak, bu daha fazla karmaşıklık ve efor gerektirir."


E-Ticaret Premium

Basit, Hızlı, Etkili ve Mükemmel bir E-Ticaret Siteniz Olsun

*256 Bit SSL Sertifikası * Full Mobil Uyumlu * Full SEO Uyumlu
İsterseniz Mobil Uygulama Seçeneğiyle


PHP Veritabanı CSV Excel Dosya Veri Aktarma Bağlantı Türkçe