Работа с файловой системой

Краткое содержание лекции

Теоретические задания | Практические задания

Константы

Работа с директорией

<?php
$dir = "/etc/php5/";
if (is_dir($dir)) {
    if ($handle = opendir($dir)) {
        while (false !== ($entry = readdir($handle))) {
            printf('файл: %s : тип: %s' . \PHP_EOL, $entry, filetype($dir . $entry));
        }
        closedir($handle);
    }
}
?>
<?php
Directory {
public string $path ;
public resource $handle ;
public void close ([ resource $dir_handle ] )
public string read ([ resource $dir_handle ] )
public void rewind ([ resource $dir_handle ] )
}
?>
<?php
$dir = dir("/etc/php5/");
if ($dir) {
    while (false !== ($entry = $dir->read())) {
        printf('файл: %s : тип: %s' . \PHP_EOL, $entry, filetype($dir->path . $entry));
    }
    $dir->close();
}
?>
<?php
mkdir("/tmp/new_folder/test", 0700, true);
?>

Работа с файлами

<?php
$file = '/tmp/numbers.txt';
for ($i = 0; $i < 10; $i++) {
    file_put_contents($file, $i . \PHP_EOL, FILE_APPEND | LOCK_EX);
}

echo file_get_contents($file);
?>
<?php
$filename = "/tmp/text.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
<?php
$filename = "/tmp/text.txt";
$handle = fopen($filename, "a");
rewind($handle);
$contents = fwrite($handle, 'Новая строка');
fclose($handle);
?>
<?php
// открываем файл в бинарном режиме
$name = 'ok.png';
$fp = fopen($name, 'rb');

// отправляем нужные заголовки
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// скидываем картинку и останавливаем выполнение скрипта
fpassthru($fp);
exit;
?>
<?php
chdir('/home/fightmaster/');
echo realpath('./../../etc/nginx'); //etc/nginx
?>

Самостоятельно при желании