SyntaxStudy
Sign Up
PHP File System Operations
PHP Beginner 7 min read

File System Operations

PHP's file system functions let you inspect, copy, move, and delete files and check their properties without shelling out to the OS.

Example
<?php
$file = '/var/data/report.pdf';

// Check existence
var_dump(file_exists($file));  // true/false
var_dump(is_file($file));      // true if it's a regular file
var_dump(is_dir($file));       // true if it's a directory
var_dump(is_readable($file));  // true if readable
var_dump(is_writable($file));  // true if writable

// File metadata
echo filesize($file);          // size in bytes
echo filemtime($file);         // last-modified timestamp
echo filetype($file);          // "file", "dir", "link", etc.

// Path info
$info = pathinfo($file);
echo $info['dirname'];    // /var/data
echo $info['basename'];   // report.pdf
echo $info['filename'];   // report
echo $info['extension']; // pdf

// Copy / move / delete
copy($file, '/backup/report.pdf');
rename($file, '/archive/report.pdf');  // also works as move
unlink('/tmp/old.txt');              // delete

// Create directories
mkdir('/var/data/uploads', 0755, true); // true = recursive
rmdir('/var/data/empty-dir');           // must be empty

// Temporary file
$tmp = tempnam(sys_get_temp_dir(), 'app_');
file_put_contents($tmp, 'temporary data');
// ... use it ...
unlink($tmp);
Pro Tip

Tip: file_exists() returns true for both files and directories. Use is_file() when you specifically need a regular file, and is_dir() when you need a directory.