0Pricing
PHP Academy · Lektion

In Dateien schreiben und Daten anhängen

Schreiben Sie Daten mit file_put_contents und FILE_APPEND in Dateien.

In Dateien schreiben und Daten anhängen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Dateien in PHP schreiben

PHP bietet mehrere Möglichkeiten, in Dateien zu schreiben:

  • file_put_contents() – Zeichenfolge mit einem Aufruf in eine Datei schreiben
  • fopen() + fwrite() – streambasiertes Schreiben
  • Verwenden Sie das Flag FILE_APPEND, um Inhalte anzuhängen statt zu überschreiben

file_put_contents()

Eine Zeichenfolge in eine Datei schreiben – erstellt die Datei, falls sie nicht existiert, und überschreibt sie, falls sie bereits vorhanden ist:

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

Mit FILE_APPEND anhängen

Fügen Sie mit dem Flag FILE_APPEND Inhalte am Ende einer vorhandenen Datei hinzu:

<?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
);

Schreibmodi von fopen

Die Modi zum Öffnen mit fopen legen fest, wie die Datei geöffnet wird:

  • 'w' – schreiben, auf Länge null kürzen oder erstellen
  • 'a' – schreiben, anhängen, erstellen, falls nicht vorhanden
  • 'x' – schreiben, fehlschlagen, falls die Datei bereits existiert
  • 'r+' – ab dem Anfang lesen und schreiben, Datei muss existieren

fopen + fwrite

Streambasiertes Schreiben für präzise Kontrolle:

<?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-Dateien schreiben

Verwenden Sie fputcsv(), um korrekt formatierte CSV-Zeilen zu schreiben:

<?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-Dateien schreiben

PHP-Daten in JSON serialisieren und in eine Datei schreiben:

<?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';

Atomare Dateischreibvorgänge

Schreiben Sie zunächst in eine temporäre Datei und benennen Sie sie anschließend um, um atomare, absturzsichere Aktualisierungen zu ermöglichen:

<?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';

Berechtigungen und Eigentümerschaft

Setzen Sie Dateiberechtigungen nach der Erstellung mit chmod():

<?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';

Temporäre Dateien

Erstellen Sie mit tempnam() oder tmpfile() sicher temporäre Dateien:

<?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

Dateien kopieren und verschieben

Kopieren und benennen Sie Dateien mit integrierten Funktionen um oder verschieben Sie sie:

<?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';
}

Schnelltest

Welches Flag übergeben Sie an file_put_contents(), um Inhalte am Ende einer Datei anzuhängen, statt sie zu überschreiben?

Zusammenfassung: Dateien schreiben

Grundlagen zum Schreiben von Dateien:

  • file_put_contents() – einfachstes Schreiben und Überschreiben
  • Flag FILE_APPEND zum Anhängen
  • fopen('a', ...) + fwrite() für Streaming
  • fputcsv() für CSV-Ausgaben
  • Atomare Schreibvorgänge: in temporäre Datei schreiben + rename()
  • chmod() zum Setzen der Berechtigungen nach der Erstellung

Häufig gestellte Fragen

Ist die Lektion „In Dateien schreiben und Daten anhängen“ kostenlos?

Ja — der vollständige Text von „In Dateien schreiben und Daten anhängen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „In Dateien schreiben und Daten anhängen“?

Schreiben Sie Daten mit file_put_contents und FILE_APPEND in Dateien. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um PHP Academy zu starten?

Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „In Dateien schreiben und Daten anhängen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?

Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dateien mit PHP auslesen
  2. In Dateien schreiben und Daten anhängen
  3. Mit Verzeichnissen arbeiten
  4. Datei-Uploads verarbeiten
← Zurück zu PHP Academy