2017-09-30 1 views
0

で失敗が偽物を使用していAN)私は画像を生成し、それらを保存したいと思いますが、エラーにLaravelはディレクトリがSTORAGE_PATH

mkdir(): No such file or directory 

を取得していますので、私は

$factory->define(App\User::class, function (Faker $faker) { 
$filepath = storage_path('images/fakerusr/'); //this fails 
if(!File::exists($filepath)){ 
    File::makeDirectory($filepath); 
}; 
return [ 
    'profile_pic' => $faker->image($filepath,400,300) 

]; 

}を持たせます。

しかし、私は

$filepath = public_path('images/fakerusr/'); //this works 

を使用しますが、DBに保存されたパスが./var/wwwから始まる...しかし、私は、パブリックフォルダ内の画像からのパスをしたいと思います。

私はどのように私はこの行くのです

sudo chmod a+rw -R /var/www.../public 

パブリックフォルダへの読み取りと書き込みの両方の権限が追加されました。

答えて

0

イメージと子ディレクトリfakerusrが既に存在することを確認してください。デフォルトでは、unixコマンドmkdirは、「必要に応じて中間ディレクトリを作成する」には-pフラグが必要で、PHP関数mkdirには、ネストされたディレクトリを作成するために3番目のパラメータをtrueにする必要があります。 File::makeDirectoryもおそらくこの方法で動作します。あなたはStorage::has

$directory='images/fakerusr'; 
    if (!Storage::has($directory)) { 

     $resp= Storage::makeDirectory($directory); 
     dd($resp); 
    } else{ 
     echo "already exist"; 
    }; 

を使用して確認することができます

0

はまた、ディレクトリがstorage\app\内に作成.ANDパブリックフォルダ

内のディレクトリを作成したい場合は、これらのフォルダ

から755権限を持っていることを確認されることに注意します

$directory='images/fakerusr'; 
    if (File::isDirectory($directory)) { 

     echo "already exist"; 
    } else{ 
     $result = File::makeDirectory($directory, 0775, true); 
    } 
0
$filepath = storage_path('images/fakerusr/'); //this fails 
     if(!File::exists($filepath)){ 
      File::makeDirectory($filepath, 0755, true, true); 
     }; 
+0

これは、ans疑問に思う。批評をしたり、著者の説明を求めるには、投稿の下にコメントを残してください。 - [レビューより](/レビュー/低品質の投稿/ 17489993) – bhansa

関連する問題