PHP ļauj lasīt, rakstīt un pārvaldīt failus serverī. Tas ir noderīgi žurnālu veidošanai, konfigurācijas saglabāšanai, datu importēšanai un eksportēšanai.

Faila lasīšana

<?php
// Nolasīt visu failu virknē
$saturs = file_get_contents('dati.txt');
echo $saturs;

// Nolasīt failā pa rindām masīvā
$rindas = file('dati.txt', FILE_IGNORE_NEW_LINES);
foreach ($rindas as $rinda) {
echo "$rinda<br>";
}
?>

Faila rakstīšana

<?php
// Ierakstīt tekstu failā (izveido vai pārraksta)
file_put_contents('dati.txt', "Pirmā rinda\n");

// Pievienot beigās (nevis pārrakstīt)
file_put_contents('žurnāls.txt', date('Y-m-d H:i:s') . " Darbība\n", FILE_APPEND);
?>

Faila esamības pārbaude

<?php
if (file_exists('config.txt')) {
echo "Fails eksistē!";
echo "Izmērs: " . filesize('config.txt') . " baiti";
} else {
echo "Fails neeksistē.";
}

// Citas pārbaudes
is_file('fails.txt'); // vai ir fails (ne mape)
is_dir('mape'); // vai ir direktorija
is_readable('fails.txt'); // vai ir lasāms
is_writable('fails.txt'); // vai ir rakstāms
?>

Direktoriju operācijas

<?php
// Izveidot direktoriju
mkdir('jauna_mape', 0755, true); // true = rekursīvi

// Nolasīt direktorijas saturu
$faili = scandir('mape');
foreach ($faili as $fails) {
if ($fails === '.' || $fails === '..') continue;
echo "$fails<br>";
}

// Vai arī ar glob
$attēli = glob('attēli/*.{jpg,png,webp}', GLOB_BRACE);
foreach ($attēli as $attēls) {
echo "$attēls<br>";
}
?>

CSV failu apstrāde

<?php
// CSV faila lasīšana
$fails = fopen('dati.csv', 'r');
while (($rinda = fgetcsv($fails, 0, ';')) !== false) {
echo "Vārds: {$rinda[0]}, Vecums: {$rinda[1]}<br>";
}
fclose($fails);

// CSV faila rakstīšana
$fails = fopen('rezultāti.csv', 'w');
fputcsv($fails, ['Vārds', 'Atzīme'], ';');
fputcsv($fails, ['Anna', 9], ';');
fputcsv($fails, ['Jānis', 7], ';');
fclose($fails);
?>

JSON dati

<?php
// Masīvu saglabāt JSON formātā
$dati = ["vards" => "Jānis", "vecums" => 25];
$json = json_encode($dati, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
file_put_contents('dati.json', $json);

// Nolasīt JSON
$json = file_get_contents('dati.json');
$dati = json_decode($json, true); // true = asociatīvs masīvs
echo $dati['vards']; // Jānis
?>

include un require

PHP failus var iekļaut citos failos, lai koplietotu kodu:

<?php
// Iekļaut failu (brīdinājums, ja nav atrasts)
include 'galvene.php';

// Iekļaut failu (kļūda, ja nav atrasts)
require 'config.php';

// Iekļaut tikai vienu reizi (izvairies no dublikātiem)
require_once 'funkcijas.php';
?>