Laravel - 为什么我不是我上传的文件的所有者(文件权限和所有者)?

时间:2016-12-07 15:46:34

标签: php image laravel laravel-5

我有一个上传图像的类,然后使用图像处理库调整大小(干预/图像)

问题是每当我上传图像,并且在图像上调用resize函数时,干预/图像没有操纵它的权限。当我检查图像时 - 它不属于我。我不知道为什么它属于“守护进程”。我可以用终端与我联系,但它会打败它,因为我希望它能立即调整上传。

enter image description here

我试过php chown(),但我没想到它可以在终端上使用chown所需的sudo权限。 这是处理上传的类。有什么我做错了吗?

<?php
namespace App\Controllers\Helpers;
use App\Http\Controllers\Controller;
use Image;
class Uploads  {
public $file;
public $image;
public $thumb;
public $isUploaded;

public function __construct($image){
    $this->file = $image;
}

public function handle(){
    $data = ""; 
    if(is_array($this->file)){
        foreach ($this->file as $file) {
            if($file->isValid()){
                $path = base_path().'//public/';
                $name = str_replace('|', '', $file->getClientOriginalName());
                $file->move($path,$name);
                $data.= '|'.$path.$name;
                $this->isUploaded = true;
                chmod($path.$name, 0755);chown($path.$name, 'seun');
            }
        }
    } elseif($this->file->isValid()) {
        $data = '//public'.$file->getClientOriginalName();
        $this->file->move(base_path().$data);
        $this->isUploaded = true;
        chmod(base_path().'//public/'.$file->getClientOriginalName(), 0755);chown(base_path().'//public/'.$file->getClientOriginalName(), 'seun');
    } else {
        $this->isUploaded = false;
    }
    return $data;
}

public function thumb(){
    if(is_array($this->file)){
        foreach ($this->file as $file) {
            $image = Image::make($file)->resize(200, 150);
            $image->save(base_path().'//public/thumb/'.$this->file->getClientOriginalName());
        }
    } else {
        $image = Image::make($this->file)->resize(200, 150);
        $image->save(base_path().'//public/thumb/'.$this->file->getClientOriginalName());
    }
}

public function status(){
    return $this->isUploaded;
}
}

尝试chown()会返回此错误

0 个答案:

没有答案