Как мне следует писать файлы, которые не должны быть доступны для публики? Во-первых, как я могу писать в файл за пределами корневой папки CI? Во-вторых, чтобы записать файл, мне нужно установить разрешение на доступ к 777, которое затем станет доступно для публики. Как мне подойти к этому?пишите файлы/файлы cookie с codeigniter
0
A
ответ
0
CI File Helper «поможет» вы это делаете:
$this->load->helper('file');
write_file('./path/to/file.php', $data);
Путь к файлу может быть относительным или абсолютным путем, так что вы можете записать этот файл в любом месте в системе (даже выше CI корневой папки - до тех пор, пока у вас есть права на запись в каталог
Например:.
// CI Root folder is at /var/www/my_ci_project
// Directory to write to is at /var/www/tmp_files
$this->load->helper('file');
write_file('/var/www/tmp_files/file.php', $data);
Что касается разрешений, нужно просто файл, чтобы быть г roup, доступный для записи пользователем веб-сервера:
// Everything for owner, read and execute for owner's group
chmod("/var/www/tmp_files/file.php", 0770);
Прежде всего, вам необходимо получить разрешения на установление владельца файлов вашего сервера. Взгляните сюда: http://serverfault.com/questions/357108/what-permissions-should-my-website-files-folders-have-on-a-linux-webserver и использовать fopen, fwrite и fclose normaly. – giordanolima