我最近为Moodle贡献了一些代码,它使用HTML5的一些功能,允许通过桌面拖放将文件上传到表单中(代码的核心部分在这里:https://github.com/moodle /moodle/blob/master/lib/form/dndupload.js供参考).
这种运作良好,除了当用户进行拖拽一个文件夹/目录,而不是一个真正的文件.然后将垃圾上传到服务器,但文件名与文件夹匹配.
我所寻找的是一个简单而可靠的方法检测一个存在的文件夹中的文件清单对象,这样我就可以跳过它(并可能返回一个友好的错误消息为好).
我查看了MDN上的文档,以及更一般的网络搜索,但没有透露任何内容.我还查看了Chrome开发人员工具中的数据,看来文件对象的"类型"始终设置为""用于文件夹.但是,我不太相信这是最可靠的跨浏览器检测方法.
有没有人有更好的建议?
有时我会遇到问题,大型系统上的某个 PHP 文件在某些情况下会产生虚假输出。
这可能是因为有人不小心在开始标记之前输入了空格或其他字符<?php
,或者留下了不需要的调试echo
,或者在最终结束?>
标记之后包含了一些空格。
有没有办法生成一个日志,显示生成一些输出的所有 PHP 文件以及它们生成的输出?
如果没有,是否可以建议其他方法来追踪我所描述的问题?
编辑:澄清一下 - 我正在运行的系统是 Moodle (不直接相关,但正如所要求的那样......)并且,在这种情况下,输出是在数据库升级期间(但我也遇到了类似的随机问题)其他时间输出的字符)。有大量不同的 PHP 脚本被加载到内存中来生成页面,因此手动找出生成不需要的输出的脚本并不是一个非常诱人的前景......