Это на самом деле проблема, с которой я столкнулся, и вот как я подошел к ней, моей главной целью было разделение даты
class InputRequest:
"This class contain all inputs function that will be required in this program. "
def __init__(self, stockTickerName = 'YHOO', stockSite='yahoo', startDate = None,
endDate = datetime.date.today()):
def requestInput(self, requestType =''):
"Fro requesting input from user"
self.__requestInput = input(requestType)
return self.__requestInput
def dateFormat(self, dateType=''):
'''
this function handles user date input
this repeats until the correct format is supplied
dataType: this is the type of date, eg: DOF, Date of Arriveal, etc
'''
while True:
try:
dateString = InputRequest.requestInput(self,dateType)
dtFormat = ('%Y/%m/%d','%Y-%m-%d','%Y.%m.%d','%Y,%m,%d','%Y\%m\%d') #you can add extra formats needed
for i in dtFormat:
try:
return datetime.datetime.strptime(dateString, i).strftime(i)
except ValueError:
pass
except ValueError:
pass
print('\nNo valid date format found. Try again:')
print("Date must be seperated by either [/ - , . \] (eg: 2012/12/31 --> ): ")
Для GET: Легкий способ (который я нашел):
php-cgi.exe <script-file-name> <parameter1>=<value1> <parameter2>=<value2> [...] <parameterN>=<valueN>
Более сложный путь (через php-cgi и windows cli) будет:
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
Я предполагаю, что есть способ установить переменную среды через C # /. Net . Переменные среды должны быть сброшены после завершения php-cgi.exe.
Дополнительная информация о переменных среды CGI, которые вы можете установить (и CGI в целом), на http://www.ietf.org/rfc/ rfc3875.txt . Также может пригодиться документация PHP по переменной $ _SERVER. Вопросы безопасности для запуска PHP как CGI также приведены в документации PHP на php.net.
Если вы используете bash
или аналогичную оболочку, попробуйте следующее: QUERY_STRING = "fruitKind = apple & basketId = 1000" php -q foo.php
.
Вы знакомы с CGI ? Обычно именно так веб-серверы выполняют произвольные внешние программы.
Конечно, существуют более современные альтернативы CGI, но (почти) все современные веб-серверы и внешние программы будут поддерживать CGI.
Есть вы рассматривали возможность передачи данных GET / POST как STDIN в исполняемый файл PHP? т.е.
система ("echo" .GETOrPOSTData. "> foobar.php");
Здесь есть объяснение http://stevedev.co.cc/php-curl-method-get-and-post/