2016-06-29 44 views
0

私はこのロジックと混乱しています。私はLaravel 5.2 Storage :: makeDirectoryを使用して2つのパスを作成しています。最初は(ビデオ/)が正しく作成され、もう1つ(サムネイル/)は作成されません。ここで

$user = 1; 

if(!File::exists(public_path() . "/video/$user")) 
{ 
    Storage::makeDirectory(public_path() . "/video/$user", 0777); 
} 

$file = rand(1111111111111, 9999999999999); 
$imgpath = public_path() . "/thumbnails/$file"; 

if(!File::exists($imgpath)) 
{ 
    Storage::makeDirectory($imgpath, 0777); 
} 

許可設定されています。私はまた、$ imgpathから与えられた文字列を使用してCLIからディレクトリを作成することができ

drwxrwxrwx 2 ubuntu ubuntu 4096 Jun 28 19:33 thumbnails/ 
drwxrwxrwx 3 ubuntu ubuntu 4096 Jun 29 15:21 video/ 

mkdir /home/ubuntu/workspace/site/public/thumbnails/6300643852187 

任意の提案を?

+0

...今のところエラーは表示されません。条件なしで 'mkdir($ imgpath、0777、false);を実行しようとするだけですか? – GONG

+0

いいえ、動作しません。 –

+0

あなたは '$ imgpath'リストを提供できますか? (私はこれが毎回違っていると知っていますが、とにかく私はそれを見なければなりません) – GONG

答えて

0

まあ...私は何が起こっていたかを考え出しました。
:ディレクトリを作成して

/ホーム/ Ubuntuの/ワークスペース/サイト/公共/ビデオ/ N


そしてStorage::makeDirectory(public_path() . "/video/$user")

File::exists(public_path() . "/video/$user")は、この探しています

/home/ubu NTU /ワークスペース/サイト/ストレージ/アプリ/公共/ビデオ/ N


だから私はサイト/設定/ filesystems.phpに移動して、アプリアプリのルートを変更することができます/公衆;ヘルパーstorage_path('app')を使用して確認できます。
しかしが、その代わり、私はストレージ/アプリ/公共/ビデオストレージ/アプリ/公共/サムネイルにビデオを保存することを決めた、と私はいくつかのパッケージのエラーを取得しています。

しかし、どちらのパスも書き込み可能で、今は動作しているはずです。真

第一

0

Laravel 5.2

if(!Storage::disk('public')->has('image/path/directory/')){ 
    Storage::disk('public')->makeDirectory('image/path/directory/'); 
} 
1

はあなたがいるこの

$dr = $_SERVER['DOCUMENT_ROOT']; 
$is_dir = File::makeDirectory($dr.'/uploads/images/'.$user.'/thumbs/', 0755, true, true); 

0755のようにそれを行うには、それを強制する必要があるフォルダのアクセス許可は、フォルダ

の再帰的な創造物であります

第2の真実は、それを強制的に行うことです。

関連する問題