繁体   English   中英

无法在php中上传文件-

[英]Trouble uploading a file in php.-

好吧,我遇到了一些非常奇怪的麻烦,这就是发生的事情:

这是环境:我有一个模态面板,它必须能够容纳多个“步骤”,首先您必须上传一个文件,然后对该文件进行处理,并根据此处理结果,我必须生成一些html来填充下一步。

我就是这样做的:我使用两种方式之一(使用一些url或使用文件类型input和$ _FILES从本地硬盘驱动器)从模式面板的形式上载文件,使用jquery的$ .ajaxForm提交给处理它的php文件。 处理完成后,我将用信息填充所有需要的对象,这些对象将在包含的某些模板中使用,然后将其内容填充到文本变量中,然后对其进行json_encode编码,以便附加到模态面板的第二种形式中。

到目前为止...很好...直到我发现当我选择“ from url”并禁用文件输入时,一切正常,但是当我启用文件输入上载时,我从include中获得的结果html从模板坏了(是的...您一定是在说WTF ?,但确实是0_0,我尝试了一切,直到发现错误隐藏的地方...)。 它在html结果开始时添加了一些“ PRE” html标记,并且每个标记都转换为大写字母,并且所有结尾标记的“ <”和“>”都替换为其对应的实体(例如&lt;等) 。 我看到通过在表单的回调中“更改”原始HTML结果(显然是由于对结果表单造成的损坏)。 关于会发生什么的任何想法?

提前致谢!!!

PS:我很冗长...:P

您可能应该提供有关所使用的框架/模板引擎的一些详细信息,因为听起来这就是问题所在。 似乎有关表单文件输入版本的某些内容使它发疯了-可能是您必须用于文件上传的enctype="multipart/form-data" 您可以通过将enctype属性添加到非文件对话框并查看其是否也发疯来测试该部分。

如果您的模板引擎负责,则解决此问题可能需要升级或调试其内胆。

据我所知,您无法使用这样的ajax提交上传文件。 您可以通过在<iframe>内创建表单然后提交来进行伪造,但是我认为您不能使用纯ajax来进行伪造。 我是原型用户,但我认为 jquery或任何其他库也是如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM