Можно ли создавать скрытые файлы / папки в Windows с помощью php (xampp)? И если да, то как?
Файл в Windows скрыт, если на нем есть скрытый атрибут. Для этого нет встроенной функции, поэтому вам нужно использовать system / exec для выполнения приложения- атрибута . Как это:
$file = 'test.txt'; system('attrib +H ' . escapeshellarg($file));
Это установит скрытый флаг (+ H) на test.txt.
Вы можете назвать attrib
:
$filename = 'c:\\some\\file.txt'; exec('attrib +h '.$filename);
// set HIDDEN attribute of file on Windows $file = 'path/to/file.ext'; $file = str_replace('/', '\\', $file); unset($res); exec('attrib +H ' . escapeshellarg($file), $res); $res = $res[0]; //$res contains result string of operation
не// set HIDDEN attribute of file on Windows $file = 'path/to/file.ext'; $file = str_replace('/', '\\', $file); unset($res); exec('attrib +H ' . escapeshellarg($file), $res); $res = $res[0]; //$res contains result string of operation
подсказки:
Замена '/' на '\' важна, поскольку команда оболочки (атрибут) не так терпима к косым чертам, как PHP.
$ res не устанавливается сначала, потому что exec () присоединяется к любому существующему значению.
Если вы ищете способ установить файл только для чтения, который будет работать на Windows AND * nix, то посмотрите на мой ответ на этот другой вопрос: https://stackoverflow.com/a/27127640/430742