Есть у ларавель фасад Storage для работы с файлами.
Кроме всего у него есть метод url($path) который позволяет получить url файла по его пути. HTTP урл. Т.е. он уже не тем занимается, и неудивительно, что реализация меня искренне порадовала.
Настоящая утиная типизация! Есть метод - умеешь. А для VIP персон - попробуем помочь.
Кроме всего у него есть метод url($path) который позволяет получить url файла по его пути. HTTP урл. Т.е. он уже не тем занимается, и неудивительно, что реализация меня искренне порадовала.
PHP:
/**
* Get the URL for the file at the given path.
*
* @param string $path
* @return string
*/
public function url($path)
{
$adapter = $this->driver->getAdapter();
if (method_exists($adapter, 'getUrl')) {
return $adapter->getUrl($path);
} elseif ($adapter instanceof AwsS3Adapter) {
return $this->getAwsUrl($adapter, $path);
} elseif ($adapter instanceof LocalAdapter) {
return $this->getLocalUrl($path);
} else {
throw new RuntimeException('This driver does not support retrieving URLs.');
}
}