Fethi Polat 1
Fethi Polat
xranzei 1
xranzei
Bvural41 1
Bvural41
kralhakan2009 1
kralhakan2009
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Vahsi Uzman 1
Vahsi Uzman
Cannn6161 1
Cannn6161
B 1
berione65
sen272 1
sen272
Mt2Hizmet 1
Mt2Hizmet
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

PHP – CSV Dosyasını Yönet

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
VIP Üye
Katılım
2 Mar 2015
Konular
59,189
Mesajlar
88,442
Çözüm
109
Online süresi
4mo 16d
Reaksiyon Skoru
14,280
Altın Konu
2,398
TM Yaşı
11 Yıl 3 Ay 9 Gün
Başarım Puanı
1,051
MmoLira
695,222
DevLira
234
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

how-to-generate-csv-file-from-php-array.png


Popüler elektronik tablo programları, çalışma sayfası verilerini düz metin olarak dışa aktarmak için CSV dosya biçimini (Comma Separated Values (Virgülle Ayrılmış Değerler) kullanır. Dosyadaki her satır, çalışma sayfasının bir satırını temsil eder ve her sütundaki değerler virgülle ayrılır.

PHP'nin dosya sistemi fonksiyon kütüphanesi, bir CSV dosyasından diziye veri okumak ve dizi elemanlarını bir CSV dosyasına koymak için sırasıyla fgetcsv() ve fputcsv() olmak üzere iki fonksiyon sağlar.

fgetcsv() Fonksiyonu

getcsv() fonksiyonu satırı dosya işaretçisinden okur ve onu CSV alanlarına ayrıştırır.

fgetcsv(
resource $stream,
?int $length = null,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\\"
): array|false
$stream parametresi, okuma modunda açılan dosya kaynağına bir tutamaktır. Alanları ayrıştırmak için varsayılan ayırıcı sembol virgüldür, gerekirse başka bir sembol belirtebilirsiniz.

fgetcsv() fonksiyonu alanları içeren dizinli bir dizi döndürür. Fonksiyon herhangi bir hatayla karşılaşırsa false döndürür.

fgetcsv() fonksiyonunun kullanımını göstermek için, aşağıdaki metni "hello.txt" olarak geçerli çalışma dizinine kaydedin.

Name, Email, Post, Salary
Ravishankar, ravi@gmail.com, Manager, 40000
Kavita, kavita@hotmail.com, Assistant, 25000
Nandkumar, nandu@example.com, Programmer, 30000

Örnek

Aşağıdaki PHP kodu bu dosyadan CSV verilerini okur ve bir dizi döndürür. Dizideki alanlar daha sonra bir HTML tablosunda işlenir.

PHP:
<?php
   $filename = 'hello.csv';
   $data = [];

   // open the file
   $f = fopen($filename, 'r');

   if ($f === false) {
      die('Cannot open the file ' . $filename);
   }

   // read each line in CSV file at a time
   while (($row = fgetcsv($f)) !== false) {
      $data[] = $row;
   }

   // close the file
   fclose($f);
   echo "<table border=1>";
   foreach ($data as $row) {
      echo "<tr>";
      foreach($row as $val) {
         echo "<td>$val</td>";
      }
      echo "</tr>";
   }
   echo "</table>";
?>

Aşağıdaki çıktıyı üretecektir:

İsimE-postaPostalamakMaaş
Ravishankarravi@gmail.comMüdür40000
Kavitakavita@hotmail.comAsistan25000
Nandkumarnandu@example.comProgramcı30000

fputcsv() Fonksiyonu

fputcsv() fonksiyonu, elemanları virgülle ayrılmış indeksli bir diziyi, CSV dosyasının geçerli dosya işaretçisi konumuna yerleştirir.

fputcsv(
resource $stream,
array $fields,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\\",
string $eol = "\n"
): int|false

Hedef dosya yazma modunda açılmalıdır. İkinci zorunlu parametre virgülle ayrılmış alanlardan oluşan bir dizidir. fgetcsv() fonksiyonunda olduğu gibi varsayılan ayırıcı virgüldür.

Örnek

Aşağıdaki kodda, virgülle ayrılmış değerlerden oluşan iki boyutlu bir dizi CSV dosyasına yazılmıştır.

PHP:
<?php
   $data = [
      ["Name", "Email", "Post", "Salary"],
      ["Ravishankar", "ravi@gmail.com", "Manager", "40000"],
      ["Kavita", "kavita@hotmail.com", "Assistant", "25000"],
      ["Nandkumar", "nandu@example.com", "Programmer", "30000"],
   ];
   $filename = 'employee.csv';

   // open csv file for writing
   $f = fopen($filename, 'w');

   if ($f === false) {
      die('Error opening the file ' . $filename);
   }

   // write each row at a time to a file
   foreach ($data as $row) {
      fputcsv($f, $row);
   }

   // close the file
   fclose($f);
?>

Yukarıdaki program çalıştırıldıktan sonra, "employee.csv" dosyası mevcut çalışma dizininde oluşturulmalıdır.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst