2015-12-15 13:36:01 6864次浏览 1条回答 0 悬赏 20 金钱

在本地Windows测试环境是没有问题的,但上传到Linux上就出问题了
controller代码:

$model = new UserUploadForm();
		if(Yii::$app->request->isPost){var_dump(UploadedFile::getInstance($model, 'user_image'));exit;
			$model->user_image = UploadedFile::getInstance($model, 'user_image');
            if ($model->upload()) {
                Yii::$app->session->setFlash('success', '用户头像修改成功');
				return $this->refresh();
            }else{
				Yii::$app->session->setFlash('error', '用户头像修改失败');
				return $this->refresh();
			}
		}

模型代码:

public $user_image;
	public function rules()
    {
        return [
			['user_image','required'],
			[['user_image'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg'],
        ];
    }
	public function attributeLabels(){
		return [
			'user_image'	=>	'用户头像',	
		];
	}
	public function upload()
    {
        if ($this->validate()) {
			$path		=	'uploads/avatar/' . time() . '.' . $this->user_image->extension;
            $this->user_image->saveAs($path);
			$user		=	User::findOne(\Yii::$app->user->id);
			$user->user_image	=	'/'.$path;
			if($user->update()!==false){
				return true;
			}
            return false;
        } else {
            return false;
        }
    }

在controller里面我用var_dump()测试了一下,在本地上展示的结果为:
object(yii\web\UploadedFile)[103]
public 'name' => string '1449301410.png' (length=14)
public 'tempName' => string 'J:\wamp\tmp\phpBC98.tmp' (length=23)
public 'type' => string 'image/png' (length=9)
public 'size' => int 2744986
public 'error' => int 0
在Linux上展示的结果为:
object(yii\web\UploadedFile)#103 (5) { ["name"]=> string(14) "1449301410.png" ["tempName"]=> string(0) "" ["type"]=> string(0) "" ["size"]=> int(0) ["error"]=> int(1) }
请问是什么原因?或者可以直接告诉我怎么查看出错原因

最佳答案

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
eaglexpf
见习主管

eaglexpf

注册时间:2015-11-23
最后登录:2016-05-23
在线时长:11小时20分
  • 粉丝1
  • 金钱145
  • 威望10
  • 积分355

热门问题