Nasıl geçmek için GET ve php yürütülebilir POST veri?

5 Cevap php

C # bir web sunucusu yazıyorum ve PHP desteği eklemek çalışıyorum. Ben ona dosyayı geçerken ben geçmişte GET ve PHP yürütülebilir POST verileri için nasıl bilmiyorum dışında çoğunlukla, çalışma var. Ben sunucu üzerinde işlenen POST isteklerini almak için kazanılmış değil çünkü ben GET ile test ettik, ve ben ayrıldık geçti alır argümanların dize var, ama ben php ayrıştırıcı bilgileri beslemek için nasıl bilmiyorum . Bazı ipuçları mutluluk duyacağız.

5 Cevap

For GET: The Easy Way (That i've found):

php-cgi.exe <script-file-name> <parameter1>=<value1> <parameter2>=<value2> [...] <parameterN>=<valueN>

(Php-cgi ve pencereler cli üzerinden) Harder Way olacaktır:

SET "QUERY_STRING=<parameter1>=<value1>&<parameter2>=<value2>&[...]&<paramterN>=<valueN>"
SET SCRIPT_NAME=<script-file-name>
SET REQUEST_METHOD=GET
SET REDIRECT_STATUS=0
php-cgi.exe

Ben C # /. Net üzerinden ortam değişkeni ayarlamak için bir yolu var olacağını varsaymak istiyorum. Ortam değişkenleri php-cgi.exe tamamlanıncaya sonra unset olması gerekir.

Size (ve genel olarak CGI) ayarlayabilirsiniz CGI ortam değişkenleri için daha fazla bilgi http://www.ietf.org/rfc/rfc3875.txt. Ayrıca kullanım olabilir PHP'nin $ _SERVER değişken belgeler olacaktır. Php.net de PHP belgelerinde de CGI olarak çalıştırırken için güvenlik konuları.

Eğer CGI aşina mısınız? Bu web sunucuları keyfi harici programları çalıştırmak nasıl normalde.

Orada CGI daha modern alternatifler kesinlikle vardır, ama (neredeyse) her web sunucusu ve harici programı bugün CGI destekleyecektir.

Eğer bash ya da benzer bir kabuk içinde iseniz, bu deneyin: QUERY_STRING="fruitKind=apple&basketId=1000" php -q foo.php.

Eğer PHP yürütülebilir STDIN'den olarak GET / POST verileri boru düşündünüz mü? yani

sistemi ("echo" GETOrPOSTData "> foobar.php"..);