我正在使用 plupload 将多个文件上传到我的服务器。使用这个,有一个参数'url:'upload.php'。 upload.php 在收到文件时捕获文件,如果文件被分块,可能会重新组合它们。收到完整文件后,它会将响应发送回原始页面,并显示绿色复选框图标。
在操作我上传的照片的所有主要代码之后,我在此页面添加了一些代码。我的计划是创建全尺寸图像的三个副本:lg、med 和small。我让这部分工作,但后来决定首先重命名原始文件以匹配我的命名方案。
我现在得到一个损坏的重命名文件,因此我的三个较小的图像也被损坏。
//get the original file info
$filepath = $_SERVER['DOCUMENT_ROOT'].'/uploads/';
$filepathinfo = pathinfo($filepath.$fileName);//fileName is used previously in the file
//rename original file to a unique name
$finding_id = 'xyz';
$file_name_new = uniqid($client_id . '-' . $finding_id . '-', true); //doesn't include extension
//rename($filepath.$fileName, $filepath.$file_name_new.'.'.$ext);
//copy($filepath.$fileName, $filepath.$file_name_new.'.'.$ext);
按原样,我得到一个文件,或者上传了多少个文件,字节大小与原始文件完全匹配,并且名称保持不变(除了删除某些字符)。
如果我仅取消注释重命名函数,我实际上会得到两个文件。原始照片的字节大小总计。较大的文件显示时底部有灰色部分。较小的文件根本不显示。
如果我仅取消注释复制功能,我会得到原始文件、原始文件和另一个文件的精确重命名副本,其大小和损坏与执行重命名的较大文件相同。
有任何想法吗?看起来应该很简单。
- 如果文件当前是通过 HTTP POST 上传的,则使用移动上传文件 http://php.net/manual/en/function.move-uploaded-file.php
- 如果您在该请求中的某个位置使用 fopen() 请求同一个文件,请确保调用 fclose()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)