2016-06-29 2 views
0

Ich bin mit dieser Logik verwirrt. Ich benutze Laravel 5.2 Storage :: makeDirectory, um zwei Pfade zu erstellen, zuerst (video/) wird korrekt erstellt und die andere (thumbnails/) nicht. Hier

$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); 
} 

ist die Erlaubnis Konfiguration:

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

Irgendwelche Vorschläge:

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

ich auch ein Verzeichnis von cli mit dem angegebenen String aus $ IMGPATH schaffen könnte?

+0

Hm ...Ich sehe jetzt keine Fehler, können Sie einfach 'mkdir ($ imgpath, 0777, false) versuchen;' ohne irgendwelche Bedingungen? – GONG

+0

Nein, es funktioniert nicht. –

+0

können Sie bitte '$ imgpath' auflisten? (Ich weiß, das ist jedes Mal anders, aber ich muss es sehen) – GONG

Antwort

0

Nun ... ich habe herausgefunden, was los ist.

File::exists(public_path() . "/video/$user") sucht diese:

/home/ubuntu/Arbeitsbereich/site/public/Video/N


Und Storage::makeDirectory(public_path() . "/video/$user") in ein Verzeichnis zu erstellen:

/home/ubu NTU/Arbeitsbereich/site/storage/app/public/Video/N


So kann ich gehen zu site/config/filesystems.php und ändern die Routen für App und App/öffentlich; Sie können sie überprüfen, indem Sie den Helper storage_path('app') verwenden.
Aber stattdessen habe ich beschlossen, die Videos in dem Lagerung/app/public/Video und Lagerung/app/public/Thumbnails, zu speichern, und ich bin irgendeines Paket Fehler.

Aber beide Pfade sind beschreibbar und sollten jetzt funktionieren.

0

Laravel 5,2

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

Sie müssen es zwingen, sie mögen dieses

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

0755 ist Ordnerberechtigungen

erste wahr ist rekursiv Erstellung von Ordnern

zu tun

2. wahr ist es zu zwingen es zu tun