我目前正在混合使用extJS4和Zend Framework 1.9(文件上传页面的用户界面用extJS4编程,而应用程序本身用Zend Framework 1.9编程)。
我目前正在遇到这种现象,我从用户界面获得的数据看起来是正确的,但是甚至让zend框架确认数据已经发送到php页面的唯一方法是使用getRawBody ()。 isPost()结果为true,但getPost()不返回任何数据,$ _REQUEST根本不返回任何数据。 我正在使用$ upload = new \ Zend_File_Transfer_Adapter_Http();在程序中处理传入的文件。 但是:$ upload-> getFileInfo();也根本不返回任何数据 (apache和php的错误日志显示没什么特别的。)
getRawBody返回以下字符串(我已将其放入日志文件中,因此该字符串(776)是我的日志记录功能的一部分):
string(776) "Content-Type: multipart/form-data; boundary=---------------------------2384732604503
Content-Length: 667
-----------------------------2384732604503
Content-Disposition: form-data; name="combobox-1327-inputEl"
2
-----------------------------2384732604503
Content-Disposition: form-data; name="filefield-1328-inputEl"; filename="mytest. - Kopie.txt"
Content-Type: text/plain
testtest
-----------------------------2384732604503
Content-Disposition: form-data; name="filefield-1329-inputEl"; filename="mytest..txt"
Content-Type: text/plain
testtest
-----------------------------2384732604503
Content-Disposition: form-data; name="filefield-1330-inputEl"; filename=""
Content-Type: application/octet-stream
-----------------------------2384732604503--
"
我的问题是这种行为的原因是什么(或者如果我在这里做错了)。 (注意:我正在使用XAMPP和PHP 5.4作为Web服务器)
我现在尝试使用其他变体:
<html>
<body>
<form action="/uploadmodule/index/save-upload/" method="post" enctype="multipart/form-data">
Name: <input type="text" name="imageName" />
Image: <input type="file" name="image" />
<input type="submit" value="submit" />
</form>
</body>
</html>
当我使用它时...所有函数应该......只有当我使用extJS4 uploadvariant它才能运行。 感谢
答案 0 :(得分:0)
问题现在解决了。从我最初怀疑的php侧/ zend框架方面来说这不是问题,而是由extJS代码中的参数引起的。
$ _REQUEST,$ _POST,$ _GET为空并且只有getRawBody()得到“Post”的现象是由以下参数设置为true引起的:
Ext.data.writer.JsonView.prototype.encode = true;
一旦参数设置为false:
Ext.data.writer.JsonView.prototype.encode = false;
$ _POST,...再次被填满。