2016-11-08 3 views
0

このメールでLaravelのキューを使用して電子メールを送信しようとしていますが、この機能を使用してファイルが存在する場合、 :File :: existsキューに登録されている電子メールジョブの既存ファイルに対してfalseを返します

public function getProfilePictureAttribute() 
{ 
    $path = 'users/' . $this->id . '/picture.png'; 
    if (File::exists(public_path() . $path)) { 
     return $path; 
    } else { 
     return $this->picture_default; 
    } 
} 

私は、ウェブ上で同じ機能を使用して、それが働いているが、電子メールで、その職人とテーブルの仕事を経て、私はいつも、デフォルトの画像を取得します。 私はこれを理解できません。

+0

悪いC/C申し訳ありませんが、コード上では良いです – Roadirsh

+0

public_path()をダンプしようとしましたか? $パス?間にDIRECTORY_SEPARATORがありませんか? – Fky

+0

@Fky nope、すべてがあります... – Roadirsh

答えて

1

問題に役立つと思います

$absulate_path = 'your absulate path'; 
// E:/xampp/htdocs/test_projuect  
$path = 'users/' . $this->id . '/picture.png'; 
if (file_exists($absulate_path.'/'.$path)) { 
    /* do your code 
} else { 
     echo "file not exit"; 
} 

などの絶対パスを使用する必要があります。

public function getProfilePictureAttribute() 
{ 
    $path = 'users/' . $this->id . '/picture.png'; 
    if (File::exists(realpath(public_path() . $path))) { 
     return $path; 
    } else { 
     return $this->picture_default; 
    } 
} 
0

私はあなたのファイルパスの問題を考えるが、私はこれがあなたによって解決

関連する問題