Most likely your root is your account /data/sites/web/christophvhbe , and that getRealPath is completely accurate (what you see on FTP is probably chrooted ), As a result, your $imagePath is actually a problem.
$imagePath = '/data/sites/web/christophvhbe/images/producten/'. $fileName;
Or, even better, use the Laravel base_path and / or public_path , so if you ever change hosting, it continues to work if the path changes:
$imagePath = public_path() . '/images/producten/' . $fileName;
If you refer to your error logs, I bet you will find permission errors by trying to create a file in the /images server directory, which you can definitely not create or access on shared hosting.
source share