Хорошо, большой. Я просто бросил вместе этот пример с кортежем, не имя файла, но это легко. Спасибо все.
class MyData:
def __init__(self, data):
self.myList = []
if isinstance(data, tuple):
for i in data:
self.myList.append(i)
else:
self.myList = data
def GetData(self):
print self.myList
= [1,2]
b = (2,3)
c = MyData (a)
d = MyData (b)
c. GetData ()
d. GetData ()
[1, 2]
[2, 3]
Обычно это делается с помощью скрытого поля формы и обрабатывается в приложении (а не на веб-сервере, по большому счету).
<input type="hidden" name="_method" value="put" />
Так что в этом случае вы должны использовать простой набор операторы if-else, чтобы определить, переопределяется ли переменная _method
(правильно, конечно). Я бы использовал что-то вроде:
$method = 'get';
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['_method']
&& ($_POST['_method'] == 'PUT' || $_POST['_method'] == 'DELETE')) {
$method = strtolower($_POST['_method']);
} else {
$method = 'post';
}
}
Это был бы простой способ определить тип запроса для вашего приложения или платформы.
Если вы хотите использовать встроенный PHP -в функциях, но не cURL, вы в значительной степени застряли с fsockopen () и т. д.,
или, в лучшем случае, с библиотекой, построенной вокруг этих функций, например Snoopy
fopen
будет выполнять HTTP , но я считаю, что он будет выполнять только запросы GET. Если вы используете fsockopen
, вам нужно будет самостоятельно обрабатывать протокол HTTP, генерируя заголовки и т. Д.
Вы можете использовать HTTPRequest (в php_http
]) или PEAR .
Обновление:
Если вы действительно говорите о выполнении запросов PUT / DELETE, в ваши скрипты PHP, а не из их может заинтересовать этот вопрос:
Доступны ли методы PUT, DELETE, HEAD и т. Д. В большинстве веб-браузеров?
Вы можете взглянуть на WebDav ( PHP WebDav слайд-шоу ). Он создан для PUSH, DELETE и т. Д. Конечно, сервер, на который вы нацелены, должен принимать PUSH и DELETE, что означает, что Apache использует mod_webdav или что-то подобное. В противном случае потребуется решение более низкого уровня (как указывали другие)