对于文件上传,我有以下操作。这会创建一个带有currentDate的目录,就像我在模型中定义的那样,并上传我的文件,将其重命名为ImageId。
问题是目录和Image都是在同一个目录中创建的。我需要将Image放在新创建的目录中。有什么想法吗?
$model->attributes=$_POST['ImageUpload'];
$model->image=CUploadedFile::getInstance($model,'image');
if($model->save())
{
exec("mkdir -p " . Yii::app()->basePath . "/../images/uploads/$data->currentDate");
$model->image->saveAs(Yii::app()->getBasePath()."/../images/uploads/$data->currentDate/$model->ImageId");
$this->redirect(array('view', 'id' => $model->ImageId));
}
答案 0 :(得分:0)
你确定你在$ model-> ImageId中有什么东西吗?
我使用的代码大致相同:
if (!file_exists ($fileSavePath))
mkdir ($fileSavePath, 0, true);
$fileSavePath .= $form->my_file->name;
$form->my_file->saveAs ($fileSavePath);