Uploading docx file in Zend Framework with mime type fails?
我正在尝试将用户的简历上传到我的网站
所以我也限制了文件上传 doc、pdf 和 docx
ms word doc 文件与 pdf 一起上传,但 docx 文件与
一起上传
application/zip mime 类型所以文件不会被上传
如何进行正确的 mime 类型检查,以便将 docx 文件作为其他文件上传
下面是我的代码
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
$config = Zend_Registry::get ( ‘config’ );
$files_path = $config->resume->path; $adapter = new Zend_File_Transfer (); // Limit the MIME type of all given files to gif and jpeg images $files = $adapter->getFileInfo (); $file_name = null; foreach ( $files as $file => $info ) { if (! empty ( $tmpArr )) { $adapter->addFilter ( ‘Rename’, array (‘target’ => $files_path . DS . $file_name, ‘overwrite’ => true ) ); $post [‘filename’] = $file_name; $this->_flashMessenger->addMessage ( ‘Resume added successfully’ ); |
DOCX 基本上是一个 ZIP 文件(你可以用你最喜欢的解压器解压它们,试试看!),所以如果你希望你的用户能够上传 DOCX 文件,你必须允许 ZIP 文件。
我在zend
中添加了一个临时修复
// 允许上传 zip 文件
1
|
$adapter->addValidator ( ‘MimeType’, false, array (‘application/msword’,‘application/vnd.openxmlformats-officedocument.wordprocessingml.document’,‘application/pdf’,‘application/zip’ ) );
|
// 禁止上传带有 .zip 的文件并因此上传 docx 文件。
1
|
$adapter->addValidator(‘Extension’, false, ‘doc,docx,pdf’);
|
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268563.html