Skrive til og legge til i filer
Skriv data til filer med file_put_contents og FILE_APPEND.
Skrive til og legge til i filer er en gratis leksjon i PHP Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i PHP Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i PHP Academy inneholder totalt 4 leksjoner.
Skrive filer i PHP
PHP tilbyr flere måter å skrive til filer på:
file_put_contents()– skriv en tekststreng til en fil i ett kallfopen()+fwrite()– strømbasert skriving- Bruk flagget
FILE_APPENDfor å legge til innhold i stedet for å overskrive
file_put_contents()
Skriv en tekststreng til en fil – opprett filen hvis den ikke finnes, og overskriv den hvis den finnes:
<?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";
}Legge til med FILE_APPEND
Legg til innhold på slutten av en eksisterende fil med flagget FILE_APPEND:
<?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
);Skrivemoduser for fopen
Åpningsmodusene for fopen bestemmer hvordan filen åpnes:
'w'– skriv, tøm filen til lengde null eller opprett den'a'– skriv, legg til innhold, og opprett filen hvis den ikke finnes'x'– skriv, og mislykkes hvis filen allerede finnes'r+'– les og skriv fra starten, filen må finnes
fopen + fwrite
Strømbasert skriving for presis kontroll:
<?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';Skrive CSV-filer
Bruk fputcsv() til å skrive CSV-linjer med riktig format:
<?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);Skrive JSON-filer
Serialiser PHP-data til JSON, og skriv dem til en fil:
<?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';Atomiske filskrivinger
Skriv til en midlertidig fil, og gi den deretter nytt navn for atomiske (krasjsikre) oppdateringer:
<?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';Tillatelser og eierskap
Angi filtillatelser etter opprettelsen med 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';Midlertidige filer
Opprett midlertidige filer på en trygg måte med tempnam() eller tmpfile():
<?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 collectedKopiere og flytte filer
Kopier og gi filer nytt navn eller flytt dem med innebygde funksjoner:
<?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';
}Hurtigsjekk
Hvilket flagg sender du til file_put_contents() for å legge til innhold på slutten av en fil i stedet for å overskrive den?
Oppsummering: Skrive filer
Det viktigste om filskriving:
file_put_contents()– den enkleste måten å skrive eller overskrive på- Flagget
FILE_APPENDfor å legge til innhold fopen('a', ...)+fwrite()for strømbasert skrivingfputcsv()for CSV-utdata- Atomiske skrivinger: skriv til en midlertidig fil +
rename() chmod()for å angi tillatelser etter opprettelsen
Lær deg PHP med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 49
- Leksjoner
- 195
Ofte stilte spørsmål
Er leksjonen «Skrive til og legge til i filer» gratis?
Ja – hele teksten i «Skrive til og legge til i filer» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av PHP Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i PHP Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Skrive til og legge til i filer»?
Skriv data til filer med file_put_contents og FILE_APPEND. Du øver på PHP Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med PHP Academy?
Ingen tidligere erfaring er nødvendig. PHP Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Skrive til og legge til i filer»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne PHP Academy-leksjonen?
Ja. Alle PHP Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Lese filer med PHP
- Skrive til og legge til i filer
- Arbeide med kataloger
- Håndtere filopplastinger