Plupload:如何从PHP处理脚本中获取文件名

时间:2012-02-02 03:22:01

标签: php plupload

我刚刚开始使用Plupload,这非常棒且非常有用,但是我正在根据自己的需要进行调整,因为它离我的深度太远了。

基本上我用它只上传一个文件,所以我的代码基于Plupload论坛提供的两个基本教程中的第二个。我正在使用示例PHP脚本upload.php进行处理。

这一切都很完美 - 除了我得到原始文件名,upload.php清理。因此,如果文件名中有空格,我的表单提交脚本不起作用,因为它正在查找具有原始名称的文件。

我显然可以通过删除或修改正则表达式来实现这一点,但我真的不想这样做。我宁愿从upload.php获取一个已清理的文件名,但我不知道如何去做。

我搜索过关于Plupload的这个主题,并且找不到答案,而且我无法更一般地搜索我可以应用的smae原则,因为我甚至不知道什么我在找。任何人都可以对此有所了解吗?

1 个答案:

答案 0 :(得分:7)

upload.php的第53行中,名称和路径的清理完成了:

$filePath = $targetDir . DIRECTORY_SEPARATOR . $fileName;

如果要在PHP中使用该名称,请在返回成功状态之前调用函数(关于第130行);

如果要在javascript中使用文件名,请将第130行中的JSON回复更改为

die('{"jsonrpc" : "2.0", "result" : null, "id" : "id", "cleanFileName" : "'.$fileName.'"}');

所以包含文件名。在Javascript中添加回调:

uploader.bind('FileUploaded', function(up, file, info) {
    console.log(info.response);
});

info.response是返回的JSON字符串,在服务器上重命名后将包含文件名。