За последние 24 часа нас посетили 17690 программистов и 1658 роботов. Сейчас ищут 920 программистов ...

POST данные в php-cgi.exe

Тема в разделе "Прочие вопросы по PHP", создана пользователем Ragnazar, 2 июн 2015.

  1. Ragnazar

    Ragnazar Новичок

    С нами с:
    2 июн 2015
    Сообщения:
    7
    Симпатии:
    0
    Пишу файловый веб сервер на Node.js (Windows). Возникла необходимость скриптов, я выбрал php. Разобрался с выполнением скрипта, передачей GET, но меня интересует как передавать POST данные (обычные и form-data)?
    Использую php-cgi.exe (Через другие не понял как передавать GET). Пробовал через stdin, но данные не появляются даже в php://input.
    =̶=̶=̶=̶=
    код PHP

    Код (PHP):
    1. <?php 
    2.     echo file_get_contents("php://input","r"); //string(0) ""
    3. ?>
    =̶=̶=̶=̶=
    код Node.js

    Код (PHP):
    1. var exec = require('child_process');
    2. ...
    3.   //extractGET(string) - достает GET
    4.   //path - путь к скрипту
    5.   console.log("Exec: ./php/php-cgi.exe "+path+" "+extractGET(request.url));
    6.   var php = exec.spawn("./php/php-cgi.exe",[path,extractGET(request.url)]);
    7.   var stdout="";
    8.   php.stdin.end(post);
    9.   php.stdout.on("data",function(data){
    10.     stdout+=data;
    11.   });
    12.   php.on("exit",function(){
    13.     var temp = stdout.toString().split('\r\n\r\n'); //Отделяем заголовки от тела
    14.     var temp2 = temp.split('\r\n')
    15.     var headers={};
    16.     for(key in temp2){
    17.       headers[temp2.split(': ')]=temp2.split(': ');
    18.     }
    19.     response.writeHead(200,headers);
    20.     response.end(temp);
    21.   });
    22. ... 
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    бро, для оформления кода используй тэги внизу. Ты так старался оформить код как надо а ведь готовое есть на форуме:)
     
  3. Ragnazar

    Ragnazar Новичок

    С нами с:
    2 июн 2015
    Сообщения:
    7
    Симпатии:
    0
    Код (Text):
    1. Весь текст становиться серым и нечитаемым
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    тэги code и используй так: code=php форматирование будет php
     
  5. Ragnazar

    Ragnazar Новичок

    С нами с:
    2 июн 2015
    Сообщения:
    7
    Симпатии:
    0
    Благодарю. Не знал про это.
    Код (Text):
    1. Только для Javascript не работает
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ты даже, блин, не пробовал.

    Код (PHP):
    1. var exec = require('child_process');
    2. ...
    3.   //extractGET(string) - достает GET
    4.   //path - путь к скрипту
    5.   console.log("Exec: ./php/php-cgi.exe "+path+" "+extractGET(request.url));
    6.   var php = exec.spawn("./php/php-cgi.exe",[path,extractGET(request.url)]);
    7.   var stdout="";
    8.   php.stdin.end(post);
    9.   php.stdout.on("data",function(data){
    10.     stdout+=data;
    11.   });
    12.   php.on("exit",function(){
    13.     var temp = stdout.toString().split('\r\n\r\n'); //Отделяем заголовки от тела
    14.     var temp2 = temp[0].split('\r\n')
    15.     var headers={};
    16.     for(key in temp2){
    17.       headers[temp2[key].split(': ')[0]]=temp2[key].split(': ')[1];
    18.     }
    19.     response.writeHead(200,headers);
    20.     response.end(temp[1]);
    21.   });
    22. ...
    Ставь =php, сработает и для JS.
     
  7. Ragnazar

    Ragnazar Новичок

    С нами с:
    2 июн 2015
    Сообщения:
    7
    Симпатии:
    0
    А какой параметр? Я пробовал js и javascript
    Понял. И для JS тоже php. Логично.

    Добавлено спустя 2 минуты 46 секунд:
    А по теме?
     
  8. Ragnazar

    Ragnazar Новичок

    С нами с:
    2 июн 2015
    Сообщения:
    7
    Симпатии:
    0
    Хм? Может есть документация по php5.dll?