1
这是我在process.php(CURL,PHP)使用PUT请求上传文件,如何处理?
parse_str(file_get_contents("php://input"),$upload_data);
if (isset($upload_data)) {
print_r($upload_data);
exit;
}
这是使用curl我如何查询服务器。
[email protected]:~$ curl -X PUT -H "X-TOKEN: test123" -F [email protected]/home/weldan/Pictures/Cool-Pictures1.jpg http://host.tld/process.php
Array
(
[------------------------------22031b6e799c
Content-Disposition:_form-data;_name] => "filedata"; filename="Cool-Pictures1.jpg"
Content-Type: image/jpeg
���
)
这样,我知道那里有上传的文件。
目前的问题是,我如何处理这个文件像$ _FILES变量?
打开其他方式来实现这一点。
谢谢
所以这就是它的样子: '------------------------------ 7bb0791da128 Content-Disposition:form-data; NAME = “FILEDATA”; filename =“test.txt” Content-Type:text/plain test 123 ----------------------------- -7bb0791da128 - '也许这就是为什么上传的图像文件无法查看。它有额外的字符串。 – 2013-02-27 09:36:32
是:)我在测试过程中意识到这一点:)但重要的是第一句话。它更多的是关于HTTP协议的性质而不是PHP的问题。使用PUT请求可以只有一个文件,因此不需要$ _FILES数组。 **进一步注意围绕-F参数的双引号。没有他们它不会工作** – hek2mgl 2013-02-27 09:37:43
是的。做了建议。我认为我们在服务器端获得的还是原始的二进制数据。如果我将它存储为filename.txt我仍然看到额外的字符串,我想要做的是..我想将数据存储在临时文件中,所以我可以检查它的类型,在我的情况下我想要图像文件。所以你的回答实际上很有帮助,但并没有解决问题。还在搞清楚该怎么做。谢谢 – 2013-02-27 10:14:27