Laravel建议这里创建从public/storage到storage/app/public的符号链接。我正在寻找一些关于将public/storage重命名为public/public是否会导致其他配置或包中的任何问题的输入。
之所以这样做,是因为db中的所有文件名都相对于storage/app文件夹。我以这种方式存储它,因为我可以使用storage_path()助手统一检索任何文件。例如:
storage/app/internal/secret.doc = internal/secret.doc中的=>文件名storage/app/public/common.doc =>文件名为public/common.doc然后取回它们:
// get filename 'internal/secret.doc' or 'public/common.doc'
$filename = DB::table('files')->find(1)->value('name'); // find file where id=1 and get only the name field
$file = storage_path('app/'.$filename);这样,我就不必怀疑是否需要在检索特定文件时添加public/文件夹。同样,当我使用asset()助手为公共文件生成urls时,我也可以简单地说:
$url = asset($filename)`;然而,如果我继续使用public/storage作为符号链接文件夹,那么我就必须这样做:
$temp_filename = str_replace('public/', '', $filename);
$url = asset('storage/'.$temp_filename);如果您对重命名有不同的看法或发现一些问题,请告诉我。
发布于 2017-03-31 09:09:56
一旦public/storage连接到storage/app/public,您就不希望asset()中的文件路径引用public。公用文件夹已经是您的and服务器的根目录,asset()采用公共目录库。所以你的资产将在asset("storage/$filename")。这实际上是从storage/app/public/$filename中提取的。
https://stackoverflow.com/questions/43136623
复制相似问题