如何从变量中获取部分字符串值

时间:2020-07-28 11:12:04

标签: php laravel-5.7

我的控制器中有这个

'thumbnail' => $request->thumbnail

$ request->里面的缩略图有记录

http://localhost/storage/photos/1/image_name.jpg

我如何获得$ request->缩略图的一部分,例如“ storage / photos / 1 / image_name.jpg”或仅仅是“ image_name.jpg”

感谢您的帮助, 最好的问候

1 个答案:

答案 0 :(得分:0)

如果您对网址进行操作,则最好为此目的使用完全构建的函数。

parse_urlhttps://www.php.net/manual/en/function.parse-url.php)函数可用于将url拆分为不同的组件。

可以使用从路径basenamehttps://www.php.net/manual/en/function.basename.php)获得文件名。

<?php

$request = new stdClass();
$request->thumbnail = 'http://localhost/storage/photos/1/image_name.jpg';

$parsedUrl = parse_url($request->thumbnail);

var_dump($parsedUrl);

var_dump($parsedUrl['path']); // "/storage/photos/1/image_name.jpg"

var_dump(basename($parsedUrl['path'])); // "image_name.jpg"

输出:

array(3) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(9) "localhost"
  ["path"]=>
  string(32) "/storage/photos/1/image_name.jpg"
}
string(32) "/storage/photos/1/image_name.jpg"
string(14) "image_name.jpg"