我有一个自定义表单,其中包含一个供用户上传图像文件(他们的徽标)的字段。在表单验证钩子中,我实现了 file_save_upload,它不断返回 false。我可以看到文件实际上在上传时保存在正确的位置,那么为什么 file_save_upload 不起作用?
表单域:
$form['company_logo'] = array(
'#type' => 'managed_file',
'#title' => t('Company Logo'),
'#description' => t('Allowed extensions: gif png jpg jpeg'),
'#upload_location' => 'public://uploads/',
'#upload_validators' => array(
'file_validate_extensions' => array('gif png jpg jpeg'),
// Pass the maximum file size in bytes
//'file_validate_size' => array(MAX_FILE_SIZE*1024*1024),
),
);
验证钩子:
$file = file_save_upload( 'company_logo' , array(), 'public://uploads/', FILE_EXISTS_RENAME);
if (!$file) {
form_set_error('company_logo', t('Unable to access file or file is missing.'));
}