touch în PHP

Creează un fișier gol sau îi actualizează data ultimei modificări.

Sintaxă
touch(string $filename, ?int $mtime = null, ?int $atime = null): bool

Ce face touch

Dacă fișierul nu există, touch îl creează gol. Dacă există, conținutul rămâne neschimbat și se actualizează doar data modificării (și a ultimei accesări).

Poți da și o dată anume, ca timestamp. Este util pentru teste sau pentru fișiere-marcaj, de exemplu „ultima sincronizare”.

Parametri

Parametru Descriere
$filename Fișierul creat sau actualizat.
$mtime Opțional. Data modificării, ca timestamp. Implicit, momentul curent.
$atime Opțional. Data ultimei accesări. Implicit, aceeași cu $mtime.

Ce returnează

true la succes, false la eroare.

Exemple

Exemplul 1: Crearea unui fișier gol

<?php
touch("gol.txt");

var_dump(file_exists("gol.txt"));
var_dump(filesize("gol.txt"));

Rezultat

bool(true)
int(0)

Exemplul 2: Setarea unei date de modificare

<?php
date_default_timezone_set("Europe/Bucharest");

touch("raport.txt", mktime(10, 30, 0, 10, 19, 2026));

echo date("d.m.Y H:i", filemtime("raport.txt"));

Rezultat

19.10.2026 10:30

Greșeli frecvente

  • Te aștepți ca touch să golească fișierul. Conținutul unui fișier existent nu se modifică. Pentru golire folosește file_put_contents($f, "").

Comenzi înrudite

  • filemtime: Returnează momentul ultimei modificări a unui fișier, ca timestamp.
  • file_exists: Verifică dacă un fișier sau un director există pe disc.
  • file_put_contents: Scrie un text într-un fișier. Creează fișierul dacă nu există.