Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Запись в fifo файл
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Запись в fifo файл

Страниц (1): [1]
 

1. Shtorm_sai - 25 Ноября, 2017 - 19:30:05 - перейти к сообщению
Доброго времени суток товарищи программисты Улыбка

В общем есть скрипт который создаёт FIFO файл

PHP:
скопировать код в буфер обмена
  1.  
  2. $fifoPath = __DIR__ . '/1.fifo';
  3. if (!file_exists( $fifoPath )) posix_mkfifo( $fifoPath, 0600 );
  4.  


Есть другой скрипт который записывает в этот файл:

PHP:
скопировать код в буфер обмена
  1.  
  2. $fifo = fopen( $fifoPath, 'w' );
  3. $data = "Test str! \n";
  4. if(fwrite($fifo, $data, 1024) === FALSE){
  5.     echo "Не записано! \n\n";
  6. }
  7. else{
  8.     echo "Done \n\n";
  9. }
  10.  


Если второй скрипт запустить через браузер, он не пишет в данный файл, если через консоль то запишет нужную строку. Вопрос как мне добиться записи в файл через http запрос?

P.s
Всё дела в правах на файл.
Если при создании файла указать 0666

То после выполнения скрипта права будут 644

Как это исправить?)))
2. Sail - 25 Ноября, 2017 - 21:05:14 - перейти к сообщению
Shtorm_sai, цитата:
Цитата:
Права на созданный файл будут определяться как результат (mode & ~umask)

Но там есть одно замечание в примечании Улыбка
3. Shtorm_sai - 25 Ноября, 2017 - 21:07:19 - перейти к сообщению
Sail пишет:
Но там есть одно замечание в примечании

Это я видел. Не совсем понимаю только, как установить нужные права)

P.s.
Разобрался

PHP:
скопировать код в буфер обмена
  1.  
  2. $oldUmask = umask(0);
  3. if (!file_exists( $fifoPath )) posix_mkfifo( $fifoPath , 0666);
  4. umask($oldUmask);
  5.  


Всем спасибо Радость

 

Powered by ExBB FM 1.0 RC1