Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Есть ссылка вида /aaa/bbb/ccc.png
Нужно получить данные с этой ссылки. Само собой можно сделать обычный file_get_contents и передать туда текущий хост + этот путь. Однако в этом случае, как я понимаю, будет создано отдельное соединение для получения данных (т.е. запрос данных будет выполнен как-будто с внешнего сайта). Может можно сделать такой запрос средствами Laravel чтобы обойтись без внешнего запроса?
Не в сети
Не в сети
Не подойдет. Ссылка может вызывать какой это php скрипт, а данная конструкция подразумевает получение статического файла.
Судя по всему вопрос у меня не очень умный, наверное проще все-таки через file_get_contents
Не в сети
Если это локальный скрипт, его и вызывай, чтобы получить результат.
Не в сети
Это может быть что угодно. И локальный скрипт, и локальный ресурс. да и сам скрипт может вызывать шаблонизатор и тому подобное.
file_get_contents нормально сработает, но он вызовет HTTP запрос. Думал есть возможность сделать что-то типа
$req = new Request('моя ссылка')
$content = $req->run();
И в $content данные запрошенной ссылки
Не в сети
В общем оказалось что примерно по описанной мной схеме и работает. Вот решение
// А может это статический ресурс?
$filepath = public_path() . $url;
if( file_exists($filepath) ) {
$ret = file_get_contents($filepath);
} else {
// Ну значит это скрипт какой-то и нужно его выполнить
$request = \Request::create($url, 'GET');
$ret = \Route::dispatch($request)->getContent();
}
upd: Добавил вариант если запрашивается статический ресурс. В этом случае Route::dispatch($request) ничего не возвращает.
Изменено shasoft (07.01.2018 13:24:24)
Не в сети
Страницы 1