У меня есть php-скрипт, который используется для создания разных каталогов для разных пользователей для хранения их изображений. Один из способов сделать это - использовать разрешение 777 следующим образом:
$path = 'images/product/'.$pid;
if( ! file_exists($path)) {
$mask=umask(0);
mkdir($path, 0777);
umask($mask);
}
Есть ли другая альтернатива, которая не предусматривает использование разрешения 777 для каталога, например, для установки владельца файла и группы?
Для изменения владельца/группы файлов требуются привилегии, которые ваш Apache не должен иметь, если вы хотите безопасно его запускать. Однако вам не обязательно нужно 0777. Я думаю, вы храните изображения, поэтому вы можете использовать 0644!
Боковое примечание: chgrp()
и chown()
- это две функции, дающие вам возможность изменять группу файлов/владельца