powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Неразрешимая задача, post из perl в php
7 сообщений из 7, страница 1 из 1
Неразрешимая задача, post из perl в php
    #39056666
hostman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Долго разбирался, не нашел решение. Чтобы было понятно, задача такая:
есть скрипт perl и есть скрипт php. Нужно передать произвольные данные html-post-формы, полученные perl в скрипт php. PHP эти данные обрабатывает и выводит результат через echo. То есть выглядит так:
Код: php
1.
2.
3.
<?php
foreach ($_POST as $indx=>$val) {
...


То что накопал в гугле. Все варианты с передачей параметров, типа system и прочее отсекаются сразу, так как данные могут быть произвольной длинны в произвольном количестве. Есть вариант создать временный файл, набить туда все значения POST и прочесть в php через тот же system с параметром имени временного файла, но это по-моему изобретение велосипеда и множество лишних проверок на приём файлов, многострочного текста и т. п. А как это реализовать встроенными методами, есть ли способ?
...
Рейтинг: 0 / 0
Неразрешимая задача, post из perl в php
    #39056670
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделай POST запрос из perl скрипта к PHP скрипту (через http)
к PHP скритпу - ограничь доступ (только от localhost)
...
Рейтинг: 0 / 0
Неразрешимая задача, post из perl в php
    #39056753
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) оставить php в покое , вывести данные через perl, например на STDERR
Код: php
1.
2.
#!/usr/bin/perl
warn "Login: $login\n Password: $password";




2) через system или через exec
Код: php
1.
2.
#!/usr/bin/perl
exec "php", "aaa.php, "-login", $login, "-password", $password;



Код: php
1.
2.
3.
<?php
var_dump($argv);
?>




3) через трубу

Код: php
1.
2.
3.
4.
5.
6.
#/usr/bin/perl
open  PHP, "| php aaa.php" or die $!;

print PHP "Login=$login \n Password=$password\n";

close PHP;



Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php

while ( !feof(STDIN) ) {

    $line = trim(fgets(STDIN)); // reads line from STDIN
    echo ++$i, " ", $line, "\n";
}

?>
...
Рейтинг: 0 / 0
Неразрешимая задача, post из perl в php
    #39056825
hostman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Метод через HTTP пробовал на CURL, работает, но апач сильно нагружается, не подходит. Много запросов в моём случае.

3-й вариант через stdin самый подходящий! Интересно, какую длину данных можно передать таким способом...
...
Рейтинг: 0 / 0
Неразрешимая задача, post из perl в php
    #39056833
hostman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661,

Получилась весёлая реализация передачи $_POST

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?php

/*
На входе строка:
$_POST = array(
'a' => '1',
'b' => '2',
);
*/

$postcode = '';
while ( !feof(STDIN) ) {

    $line = trim(fgets(STDIN));
    $postcode .= $line . "\n";
}

eval($postcode);
print_r($_POST);

?>
...
Рейтинг: 0 / 0
Неразрешимая задача, post из perl в php
    #39057261
hostman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
$_ENV тоже передаётся в php как $_SYSTEM. При добавление элемента в массив этот элемент так же передаётся в php (!!!) Является ли это документированной фичей, не понятно, но в моём конкретном случае это работает. Я только не разобрался пока, как можно к элементу присвоить чистый массив данных POST. Только строкой пока что...
...
Рейтинг: 0 / 0
Неразрешимая задача, post из perl в php
    #39058114
hostman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hostman,

написал почему-то $_SYSTEM, на самом деле $_SERVER
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Неразрешимая задача, post из perl в php
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]