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

how to get some part string value from variable

我的控制器里有这个

'thumbnail' => $request->thumbnail

在$request->thumbnail里面有一条记录

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

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

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

如果您对 urls 进行操作,最好使用专门为此目的构建的函数。

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

从路径获取文件名basename (https://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"