роут покажите. Он точно ссылается на указанный контроллер и метод? Файл с таким именем по такому маршруту? Имя класса контроллера внутри файла верно? Метод есть?
MakPET: В ларавел есть такое понятие как среда или окружение (environment)... Для каждой среды своя конфигурация. Когда вы работаете на сервере для разработки (дев сервер, development ), вам нужен подробный вывод ошибок. На продакшен сервере такое недопустимо, пользователь не должен видеть ошибок. Ну и ряд других настроек тоже отличаются как правило.
IsaevDev: дублировать нельзя. Недовольство жирным классом оправдано с любой точки зрения. Делайте рефакторинг, из одного жирного класса несколько логичных, нормального размера.
splincodewd: на хосте назвали публичную папку www, в фреймворке public. Вообще разные имена бывают, но такие - общеприняты. То есть, на хосте само приложение должно находиться либо на уровень выше папки www (и отредактировать конфигурацию приложения чтобы оно работало с этой публичной директорией, если требуется), либо настроить хост так, чтобы публичной была таки папка public.
Сохраняете в БД путь до файла и id файла. В урл нужно передавать только id. Пишите обработчик, который будет вытаскивать из урла id, находить в БД путь и отдавать сам файл. Если хотите избавиться при этом от лишних символов, то пишите в .htaccess правила.
Только зачем вам чпу в линках на скачивание? ЧПУ же призвано визуализировать в адресной строке навигацию, что не нужно в случае скачивания файла.
Андрей: так стало быть не "is_readable" ) Проверьте, что лежит в переменной $fileName, убедитесь что файл такой есть, действительно так называется и лежит по этому пути. Создайте прям рядом с индексом файл и руками пропишите путь до искомого файла, сделайте его инклюд.
LINKeR UA: это совсем не так. Во первых на PHP много плохих разработчиков которые вообще не котируются, во вторых на PHP намного больше работы. Если брать проекты одного уровня, то конкуренция и оплата не шибко отличаются.
mts2050: либо в теле цикла, либо не поставили плюсы $i++
Parse error: syntax error, unexpected 'else' (T_ELSE) - означает что у вас откуда то "else" не в том месте взялся. Ни в вашем представленном коде, ни в моем else нет, значит вы уже сами где то напортачили.
Igor_Proskuryakov: сравнивать можно. В PHP проще въехать, для PHP больше готового кода, он больше распространен. О плюсах питона поспрашивайте питонистов )