![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| flashaa |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Существует функция цифрового подписывания письма
http://ru2.php.net/manual/ru/function.openssl-pkcs7-sign.php Она требует входной текст в виде файла, а результат выбрасывает в виде результирующего файла. Это очень не удобно - запись на диск, чтение с диска, когда эти операции мне совершенно не нужны. Возможно как-то сделать так, чтобы обойтись без файлов? Например можно использовать стандартный поток как имя файла
Но я так и не разобрался как с этим работать. К примеру я могу работать с stdout как с файлом, используя file_put_contents. Но если я теперь попытаюсь считать и stdin, то ничего не получу.
Вообщем хотелось бы найти такое решение, чтобы можно было обануть требование php к файлам - как чтение, так и вывод. С выводом вроде разобраться, а ввод - stdin - не поддается. Ну и если можно подобрать функцию, аналогичную моей, но без требований к файлам - было бы вообще идеально. Это сообщение отредактировал(а) flashaa - 11.3.2008, 16:51 |
||||
|
|||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
© http://de3.php.net/wrappers.php Т.е. из php://stdin можно только читать, а file_put_contents пишет туда. Если нужен один поток для обеих операций - тогда php://temp использовать можно. |
|||
|
||||
| flashaa |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Я ошибся опять по невнимательности, вообще про то что из одного только читаем, в другой только пишем я знаю.
Вот я и пытаюсь сначала кинуть в какой-нибудь поток, затем считать.
Сейчас уже могу считать из STDIN, проблема в том, что он считывает все, что пользователь введет в консоль, при этом не замечает предыдущий вывод 'asdasd'. А вот пытаюсь с php://temp работать. Подскажи, что не так?
$c получается пустой строкой. |
||||
|
|||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Нашел наиболее подходящий поток:
Но ф-ция отказывается с ним работать. :( |
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
flashaa, видимо потому, что открытие файла в самой библиотеке openssl происходит через стандартные C функции, а не PHP API. Т.е. никаким образом функция не воспримет потоки, определенные в PHP
|
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Canarat, cпасибо, жаль что так.
|
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
надо так
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Fortop, спасибо за пояснение, буду знать. Но все же в привязке к исходной задаче, мне надо передать в функцию строковый адрес к файлу.
А уже имеющийся файловый дескриптор для работы функции бесполезен :( Это сообщение отредактировал(а) flashaa - 12.3.2008, 10:23 |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |