我正在使用 Yii 上传一些文件。我收到以下错误。
finfo_file() [<a href='function.finfo-file'>function.finfo-file</a>]: File or path not found 'C:\xampp\tmp\phpF48A.tmp'
我不确定我已经阅读过有关该主题的确切内容,我不确定我是否拥有 magic.mime 数据库,我需要获取并配置它吗?或者是其他原因造成的问题。这是我第一次使用 Yii,所以我不确定这只是配置问题还是什么。这是堆栈:
if($this->mimeTypes!==null)
221 {
222 if(function_exists('finfo_open'))
223 {
224 $mimeType=false;
225 if($info=finfo_open(defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME))
226 $mimeType=finfo_file($info,$file->getTempName());
227 }
任何帮助,非常感谢。要添加,文件保存在正确的目录中,但它的记录没有保存在数据库中。
谢谢
强尼
更新代码
模型
array('file', 'file', 'allowEmpty' => false, 'maxSize'=> 512000, 'maxFiles'=> 1,
'mimeTypes' => 'application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/rtf, text/plain',
控制器(几乎是默认的 Gii 代码)
public function actionCreate() {
$model = new File;
if (isset($_POST['File'])) {
$model->setAttributes($_POST['File']);
// Set file
$model->file = CUploadedFile::getInstance($model,'file');
// Set directory
$dest = Yii::getPathOfAlias('application.uploads');
$model->tmp_name = time();
$model->file->saveAs(($dest . '/' . $model->tmp_name . '.' . $model->file->extensionName));
if ($model->save()) {
} else {
$this->redirect(array('view', 'id' => $model->id));
}
}
$this->render('create', array( 'model' => $model));
}