Laravel不会从公用文件夹

时间:2015-12-14 15:41:32

标签: php laravel filenames assets homestead

问题

我使用Homestead,images下有一个public文件夹,还有一个名为about_us-employee_1_image.jpg的JPG。如果我尝试在其正确的网址下打开它:http://project.local/images/about_us-employee_1_image.jpg我得到NotFoundHttpException。仅在此特定图像中才会出现这种情况,并且只能使用此特定名称如果我更改任何的字符,它会突然再次运行。

尝试解决方案失败

问题与路由无关,因为我删除了所有路由,但仍然发生了。我跑了php composer.phar dump-autoload没有成功。文件和文件夹权限都可以(无论如何这都不是问题,导致重命名无法解决问题。)

是否有某种规则来命名我不知道的资产?

堆栈跟踪

  

在compiled.php第8257行中的NotFoundHttpException:

     
      
  1. 在compiled.php第8257行
  2. 中   
  3. 在RouteCollection-> match(object(Request))中编译.php第7496行
  4.   
  5. at Router-> findRoute(object(Request))在compiled.php第7461行
  6.   
  7. at Router-> dispatchToRoute(object(Request))在compiled.php第7453行
  8.   
  9. 在router-> dispatch(object(Request))在compiled.php第2302行
  10. 中   
  11. at Kernel-> Illuminate \ Foundation \ Http {closure}(object(Request))
  12.   
  13. 在compile.php第9585行的call_user_func(object(Closure),object(Request))
  14.   
  15. at Pipeline-> Illuminate \ Pipeline {closure}(object(Request))在compiled.php第2926行
  16.   
  17. 在VerifyCsrfToken->句柄(对象(请求),对象(关闭))
  18.   
  19. at call_user_func_array(array(object(VerifyCsrfToken),' handle'),array(object(Request),object(Closure)))在compiled.php第9577行
  20.   
  21. at Pipeline-> Illuminate \ Pipeline {closure}(object(Request))在compiled.php第12949行
  22.   
  23. at ShareErrorsFromSession-> handle(object(Request),object(Closure))
  24.   
  25. at call_user_func_array(array(object(ShareErrorsFromSession),' handle'),array(object(Request),object(Closure)))在compiled.php第9577行
  26.   
  27. at Pipeline-> Illuminate \ Pipeline {closure}(object(Request))在compiled.php第11536行
  28.   
  29. at StartSession-> handle(object(Request),object(Closure))
  30.   
  31. at call_user_func_array(array(object(StartSession),' handle'),array(object(Request),object(Closure)))在compiled.php第9577行
  32.   
  33. at Pipeline-> Illuminate \ Pipeline {closure}(object(Request))在compiled.php第12686行
  34.   
  35. at AddQueuedCookiesToResponse-> handle(object(Request),object(Closure))
  36.   
  37. at call_user_func_array(array(object(AddQueuedCookiesToResponse),' handle'),array(object(Request),object(Closure)))在compiled.php第9577行
  38.   
  39. at Pipeline-> Illuminate \ Pipeline {closure}(object(Request))在compiled.php第12623行
  40.   
  41. 在EncryptCookies->句柄(对象(请求),对象(关闭))
  42.   
  43. at call_user_func_array(array(object(EncryptCookies),' handle'),array(object(Request),object(Closure)))在compiled.php第9577行
  44.   
  45. at Pipeline-> Illuminate \ Pipeline {closure}(object(Request))在compiled.php第2983行
  46.   
  47. 在CheckForMaintenanceMode->句柄(对象(请求),对象(关闭))
  48.   
  49. at call_user_func_array(array(object(CheckForMaintenanceMode),' handle'),array(object(Request),object(Closure)))在compiled.php第9577行
  50.   
  51. at Pipeline-> Illuminate \ Pipeline {closure}(object(Request))
  52.   
  53. 在compile.php第9567行的call_user_func(object(Closure),object(Request))
  54.   
  55. at Pipeline-> then(object(Closure))在compiled.php第2249行
  56.   
  57. at Kernel-> sendRequestThroughRouter(object(Request))在compiled.php第2232行
  58.   
  59. 在index.php第54行中的Kernel->句柄(对象(请求))
  60.   

1 个答案:

答案 0 :(得分:0)

您可以使用laravel为您提供的Storage helper,但是您需要在config / filesystem.php中添加新磁盘

'front' => [
        'driver' => 'local',
        'root' => public_path(),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

并像这样使用它

$example=Storage::disk('front')->get('about_us-employee_1_image.jpg')