Краткий ответ: когда вы его создаете, вы должны запустить на нем chmod(0777)
.
Длинный ответ: chmod(0777)
означает «читаемый и записываемый мир, и фактически не рекомендуется. Оформить заказ * 1006»* http://www.linuxforums.org/articles/file-permissions_94.html для полного объяснения этих чисел. В основном, если вам нужно, чтобы он был доступен для записи пользователем и читался любым пользователем, выполните chmod(0644)
РЕДАКТИРОВАТЬ: iбыстро написал ответ ... без внимательного прочтения вопроса.
Похоже, вы пытаетесь открыть файл не из той папки, в которой вы его создали. Попробуйте и посмотрите результат на echo getpwd()
в скрипте CLI, а затем в скрипте, работающем под www. Держу пари, вы увидите различные местоположения. При выполнении скриптов CLI вы должны либо выполнить chdir()
перед выполнением команды, либо всегда использовать абсолютные пути для файлов, к которым вы обращаетесь.Я лично предпочитаю метод chdir()
.