открыть файл в PHP CLI - PullRequest
       13

открыть файл в PHP CLI

0 голосов
/ 18 марта 2011

Файл был создан apache с использованием mkdir () и fopen () и т. Д.

Как разрешить моей программе php CLI разрешить чтение этого файла apache (так говорит пользователь?is) создан, поэтому я не получаю эту ошибку:

Warning: file_get_contents(./sessions/nl2larsjl6n3315mesghmspts7.txt): failed to open stream: No such file or directory in /var/www/html/cli.php on line 58

в клике этот мой код для получения файла:

$alert = file_get_contents('./sessions/'.$sessionID.'.txt');

1 Ответ

2 голосов
/ 18 марта 2011

Краткий ответ: когда вы его создаете, вы должны запустить на нем chmod(0777).

Длинный ответ: chmod(0777) означает «читаемый и записываемый мир, и фактически не рекомендуется. Оформить заказ * 1006»* http://www.linuxforums.org/articles/file-permissions_94.html для полного объяснения этих чисел. В основном, если вам нужно, чтобы он был доступен для записи пользователем и читался любым пользователем, выполните chmod(0644)


РЕДАКТИРОВАТЬ: iбыстро написал ответ ... без внимательного прочтения вопроса.

Похоже, вы пытаетесь открыть файл не из той папки, в которой вы его создали. Попробуйте и посмотрите результат на echo getpwd()в скрипте CLI, а затем в скрипте, работающем под www. Держу пари, вы увидите различные местоположения. При выполнении скриптов CLI вы должны либо выполнить chdir() перед выполнением команды, либо всегда использовать абсолютные пути для файлов, к которым вы обращаетесь.Я лично предпочитаю метод chdir().

...