【发布时间】:2011-01-07 10:17:36
【问题描述】:
我目前正在使用 symfony 1.4,并希望允许用户上传 Microsoft Word docx 文件。使用下面的 sfWidgetFormInputFile 小部件和 sfValidatorFile,用户可以使用简单的 Web 表单选择并成功上传他们的 docx 文件。
$this->widgetSchema['file_name'] = new sfWidgetFormInputFile(array('label' => 'File'));
$this->validatorSchema['file_name'] = new sfValidatorFile(array(
'required' => true,
'path' => sfConfig::get('sf_upload_dir').DIRECTORY_SEPARATOR.sfConfig::get('app_dir_file_sharing').DIRECTORY_SEPARATOR,
'mime_types' => array('application/msword',
'application/vnd.ms-word',
'application/msword',
'application/msword; charset=binary')
), array(
'invalid' => 'Invalid file.',
'required' => 'Select a file to upload.',
'mime_types' => 'The file must be a supported type.'
));
问题是文件上传后,扩展名改为.zip,文件包含xml文件的文件树。我的理解是,这是因为 Office 2007 现在使用的是 Open xml 文件格式。有没有办法使用 symfony 或 PHP 来防止这种情况发生?
【问题讨论】:
-
这也适用于 xlsx 文件
标签: php apache symfony1 symfony-1.4