PHP Academy · Ders

Dosyalara Yazma ve Ekleme

file_put_contents ve FILE_APPEND ile dosyalara veri yazın.

2. ders / 413 adım

Dosyalara Yazma ve Ekleme, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.

PHP'de Dosya Yazma

PHP dosyalara yazmak için çeşitli yollar sunar:

  • file_put_contents() — tek çağrıda dizeyi dosyaya yazar
  • fopen() + fwrite() — akış tabanlı yazma
  • Üzerine yazmak yerine sona eklemek için FILE_APPEND bayrağını kullanın

file_put_contents()

Bir dizeyi dosyaya yazın — dosya yoksa oluşturur, varsa üzerine yazar:

<?php
$data = "Hello, PHP!\nThis is line 2.\n";

$bytes = file_put_contents('/tmp/output.txt', $data);

if ($bytes === false) {
    echo 'Failed to write';
} else {
    echo "Wrote $bytes bytes";
}

FILE_APPEND ile Sona Ekleme

FILE_APPEND bayrağıyla mevcut bir dosyanın sonuna içerik ekleyin:

<?php
$logEntry = date('Y-m-d H:i:s') . ' - User logged in' . PHP_EOL;

file_put_contents(
    '/var/log/app.log',
    $logEntry,
    FILE_APPEND | LOCK_EX  // append + exclusive lock
);

fopen Yazma Kipleri

fopen için açma kipleri dosyanın nasıl açılacağını belirler:

  • 'w' — yazma; uzunluğu sıfıra indirir veya oluşturur
  • 'a' — yazma, sona ekleme; yoksa oluşturur
  • 'x' — yazma; dosya zaten varsa başarısız olur
  • 'r+' — başlangıçtan okuma+yazma; dosya mevcut olmalıdır

fopen + fwrite

Hassas denetim için akış tabanlı yazma:

<?php
$handle = fopen('/tmp/report.txt', 'w');

if ($handle === false) die('Cannot open file');

fwrite($handle, "Report generated: " . date('Y-m-d') . "\n");
fwrite($handle, str_repeat('-', 40) . "\n");
fwrite($handle, "Total: 1234\n");

fclose($handle);
echo 'Report written';

CSV Dosyaları Yazma

Biçimi doğru CSV satırları yazmak için fputcsv() kullanın:

<?php
$rows = [
    ['Name', 'Email', 'Score'],
    ['Alice', 'alice@test.com', 95],
    ['Bob',   'bob@test.com',   87],
];

$handle = fopen('/tmp/results.csv', 'w');
foreach ($rows as $row) {
    fputcsv($handle, $row);
}
fclose($handle);

JSON Dosyaları Yazma

PHP verilerini JSON'a serileştirip bir dosyaya yazın:

<?php
$config = [
    'version' => '2.0',
    'debug'   => false,
    'db'      => ['host' => 'localhost', 'port' => 3306],
];

$json = json_encode($config, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
file_put_contents('/app/config.json', $json);

echo 'Config saved';

Atomik Dosya Yazma

Atomik (çökme güvenli) güncellemeler için önce geçici bir dosyaya yazın, ardından yeniden adlandırın:

<?php
$target  = '/app/data.json';
$tmpFile = $target . '.tmp.' . uniqid();

$data = json_encode(['ts' => time(), 'value' => 42]);

file_put_contents($tmpFile, $data, LOCK_EX);
rename($tmpFile, $target);  // atomic on most OSes

echo 'File updated atomically';

İzinler ve Sahiplik

Oluşturduktan sonra dosya izinlerini chmod() ile ayarlayın:

<?php
$path = '/var/www/uploads/avatar.jpg';

// Copy uploaded temp file to destination
move_uploaded_file($_FILES['avatar']['tmp_name'], $path);

// Set permissions (owner read/write, group read, world read)
chmod($path, 0644);

echo 'File uploaded and permissions set';

Geçici Dosyalar

tempnam() veya tmpfile() ile geçici dosyaları güvenle oluşturun:

<?php
// Create a named temp file
$tmpPath = tempnam(sys_get_temp_dir(), 'php_');
file_put_contents($tmpPath, 'temp data');
$content = file_get_contents($tmpPath);
unlink($tmpPath);  // delete when done

// Anonymous temp file handle
$tmp = tmpfile();
fwrite($tmp, 'anonymous temp');
// auto-deleted when $tmp is garbage collected

Dosya Kopyalama ve Taşıma

Yerleşik işlevlerle dosyaları kopyalayın ve yeniden adlandırın/taşıyın:

<?php
// Copy a file
copy('/src/template.html', '/dst/page.html');

// Move / rename
rename('/tmp/upload_abc', '/storage/images/photo.jpg');

// Delete
unlink('/tmp/old_file.txt');

// Check if file was copied successfully
if (copy('a.txt', 'backup.txt')) {
    echo 'Backup created';
}

Hızlı Kontrol

Bir dosyanın üzerine yazmak yerine sonuna içerik eklemek için file_put_contents() işlevine hangi bayrağı geçirirsiniz?

Özet: Dosya Yazma

Dosya yazmanın temel unsurları:

  • file_put_contents() — en basit yazma/üzerine yazma yöntemi
  • Sona eklemek için FILE_APPEND bayrağı
  • Akış için fopen('a', ...) + fwrite()
  • CSV çıktısı için fputcsv()
  • Atomik yazma: geçici dosyaya yazma + rename()
  • Oluşturduktan sonra izinleri ayarlamak için chmod()
Başlamak ücretsiz

Yapay zeka eğitmeniyle PHP öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
49
Dersler
195

Sıkça Sorulan Sorular

“Dosyalara Yazma ve Ekleme” dersi ücretsiz mi?

Evet — “Dosyalara Yazma ve Ekleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.

“Dosyalara Yazma ve Ekleme” dersinde ne öğreneceğim?

file_put_contents ve FILE_APPEND ile dosyalara veri yazın. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Dosyalara Yazma ve Ekleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. PHP ile Dosya Okuma
  2. Dosyalara Yazma ve Ekleme
  3. Dizinlerle Çalışma
  4. Dosya Yüklemelerini İşleme
← PHP Academy Sayfasına Dön