Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP комманда ftok в чем ошибка?

86K
09 декабря 2016 года
antonburba
8 / / 05.12.2016
Друзья, не отрабатывает следующий код, не могу найти ошибку. при этом если пеменную dir задать просто числом, то все отрабатывает как надо. Вроде код писал как в мануале, файл new.c той же папке,при чем пробывал и другие пути для папок и каталогов Ошибка явно в строчке с ftok, в чем она. кто видит?
 
Код:
<?php
$dir = ftok(new.c, 't');
$shmid = shmop_open($dir, 'c', 0777, 1024);
echo ($shmid);
shmop_write($shmid, "Heplo jwrld!", 0);
echo shmop_read($shmid, 0, 11);

shmop_delete($shmid);
shmop_close($shmid);
?>
86K
09 декабря 2016 года
antonburba
8 / / 05.12.2016
Цитата: UserNet2008
возможно есть пробелы.
 
Код:
$dir = trim(ftok(new.c, 't'));

Так тоже не работает ((

 
Код:
<?php
$dir = trim(ftok(new.c, 't'));
$shmid = shmop_open($dir, 'c', 0777, 1024);
echo ($shmid);
shmop_write($shmid, "Hehlo jwrld!", 0);
echo shmop_read($shmid, 0, 11);

shmop_delete($shmid);
shmop_close($shmid);
?>
86K
09 декабря 2016 года
antonburba
8 / / 05.12.2016
Цитата: UserNet2008
нужно просто смотреть на результат
 
Код:
printf(ftok(new.c, 't'));

я так понимаю вы ответы генерируете случайным образом

86K
09 декабря 2016 года
antonburba
8 / / 05.12.2016
возвращаемое значение - белый экран и зависание страницы)) как можно вывести то что уже содержит ошибку? если бы выводило, то проблем не было бы
86K
09 декабря 2016 года
antonburba
8 / / 05.12.2016
Цитата: UserNet2008
источник
Возвращаемые значения

В случае успеха возвращается созданное значение ключа, и -1 при неудаче.
Код:
Thanks to  daniele_dll@yahoo.it who got this in turn from linux glibc 2.3.2: http://www.php.net/manual/en/function.shmop-open.php -- I'm putting this here because it might be helpful to others.

function ftok($pathname, $proj_id) {
   $st = @stat($pathname);
   if (!$st) {
       return -1;
   }
 
   $key = sprintf("%u", (($st['ino'] & 0xffff) | (($st['dev'] & 0xff) << 16) | (($proj_id & 0xff) << 24)));
   return $key;
}

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

86K
09 декабря 2016 года
antonburba
8 / / 05.12.2016
С этого и надо было начинать, что вы не знаете о чем речь))
327
09 декабря 2016 года
UserNet2008
748 / / 03.04.2010
Цитата: antonburba
С этого и надо было начинать, что вы не знаете о чем речь))

А речь идет о обмене данными между программами из прямого доступа памяти

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог