Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

fbrip's avatar
Level 1

laravel 5.3 md5_file... failed to open stream: Permission denied

Hello I'm using Laravel 5.3 on Xampp (dev mode) and AWS (production mode) and I have a problem with pdf File upload . My post and edit function are working for some pdf uploads but not all of them ! For pdf I created and uploaded (under 2Mo), the upload is working but for the others I have an error page with this info :

ErrorException in FileHelpers.php line 49: md5_file(C:\xampp\htdocs\sol\public): failed to open stream: Permission denied

in FileHelpers.php line 49 at HandleExceptions->handleError('2', 'md5_file(C:\xampp\htdocs\sol\public): failed to open stream: Permission denied', 'C:\xampp\htdocs\sol\vendor\laravel\framework\src\Illuminate\Http\FileHelpers.php', '49', array('path' => null)) at md5_file('C:\xampp\htdocs\sol\public') in FileHelpers.php line 49 at UploadedFile->hashName() in UploadedFile.php line 23 at UploadedFile->store('5_2_manuals') in ManualController.php line 72 at ManualController->store(object(Request)) at call_user_func_array(array(object(ManualController), 'store'), array(object(Request))) in Controller.php line 55 at Controller->callAction('store', array(object(Request))) in ControllerDispatcher.php line 44 at ControllerDispatcher->dispatch(object(Route), object(ManualController), 'store') in Route.php line 190 at Route->runController() in Route.php line 144 at Route->run(object(Request)) in Router.php line 642 at Router->Illuminate\Routing{closure}(object(Request)) in Pipeline.php line 53 at Pipeline->Illuminate\Routing{closure}(object(Request)) in SubstituteBindings.php line 41 at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->Illuminate\Routing{closure}(object(Request)) in Authenticate.php line 43 at Authenticate->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->Illuminate\Routing{closure}(object(Request)) in VerifyCsrfToken.php line 64 at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->Illuminate\Routing{closure}(object(Request)) in ShareErrorsFromSession.php line 49 at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->Illuminate\Routing{closure}(object(Request)) in StartSession.php line 64 at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->Illuminate\Routing{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->Illuminate\Routing{closure}(object(Request)) in EncryptCookies.php line 59 at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->Illuminate\Routing{closure}(object(Request)) in Pipeline.php line 104 at Pipeline->then(object(Closure)) in Router.php line 644 at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 618 at Router->dispatchToRoute(object(Request)) in Router.php line 596 at Router->dispatch(object(Request)) in Kernel.php line 267 at Kernel->Illuminate\Foundation\Http{closure}(object(Request)) in Pipeline.php line 53 at Pipeline->Illuminate\Routing{closure}(object(Request)) in CheckForMaintenanceMode.php line 46 at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->Illuminate\Routing{closure}(object(Request)) in Pipeline.php line 104 at Pipeline->then(object(Closure)) in Kernel.php line 149 at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116 at Kernel->handle(object(Request)) in index.php line 54 at require_once('C:\xampp\htdocs\sol\public\index.php') in server.php line 21

I did look at the permissions and change it with : chmod -R 777 storage, it didn't change anything.

Someone has any idea ? Thanks for your help

0 likes
2 replies
shimax's avatar

Try this

if($request->file('photo')->isValid()) {
    $request->file('photo')->store('/images');
}

Please or to participate in this conversation.