Есть функция fopen(); которая создает файл в определенной директории, для этого необходимо чтобы на директорию стояли определенные права. Но есть ряд проблем во первых ставить права 777 не безопасно. Ставить 755 подойдет только если php выполняется под правами владельца а это не всегда так. Ставить 775 тоже не совсем безопасный вариант на мой взгляд. Изменять права средствами php например ставить папке права 775 а потом после создания файла менять на 755 тоже сработает только если php под владельцем выполняется. Какой будет оптимальный вариант чтобы не было важно под кем выполняется php при этом он мог создать файл в директории и не боятся что эта директория станет слабым местом в безопасности ?
Если вы о безопастности, то нет ни какой разницы. fopen() будет работать из под пользователя PHP. Это значит что если даже 644 то любой РНР скрипт сможет получить доступ к файлу. То есть любой backdoor сможет с ним работать если у хакера получится закачать файл на сервер.
Я думаю что можно ставить 777-755. Разници нет. Главная защита тут, не разрешить запуск несанкционированых файлов. К сожалению вы не указали с какими расширениями файлов вы будете работать. Но суть одна. Нужно добавтиь .htaccess который запретит доступ ко всем файлам кроме тех которые вы создаете.
Какой будет оптимальный вариант чтобы не было важно под кем выполняется php при этом он мог создать файл в директории и не боятся что эта директория станет слабым местом в безопасности ?
Если это архив, картинка и т.п. то 777 а средствами php просто проверять раширение файла
777 если требуется чтобы не было важно под кем выполняется php. Какие тут еще могут быть варианты?
Ну разве что демона запустить и писать через него, а он должен знать кто и что может писать.