如何从URL获取图像的名称?

joh*_*nuc 9 php curl

我有一个小问题; 在PHP中,我使用curl从URL获取数据:

$url = "http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg";
Run Code Online (Sandbox Code Playgroud)

我用curl_getinfo()它给了我一个数组:

Array
(
[url] => http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg
[content_type] => image/jpeg
[http_code] => 200
[header_size] => 496
[request_size] => 300
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 2.735
[namelookup_time] => 0.063
[connect_time] => 0.063
[pretransfer_time] => 0.063
[size_upload] => 0
[size_download] => 34739
[speed_download] => 12701
[speed_upload] => 0
[download_content_length] => 34739
[upload_content_length] => -1
[starttransfer_time] => 1.282
[redirect_time] => 0
)
Run Code Online (Sandbox Code Playgroud)

如何在链接中获取图像的名称,[url] => http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg例如

[image_name] : example
[image_ex] : jpg
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何建议!

Sin*_*nha 7

有时url会附加额外的参数.在这种情况下,我们可以先删除参数部分,然后我们可以使用PHP的内置pathinfo()函数从url中获取图像名称.

$url = 'http://images.fitnessmagazine.mdpcdn.com/sites/story/shutterstock_65560759.jpg?itok=b8HiA95H';
Run Code Online (Sandbox Code Playgroud)

检查图像URL是否附加了参数.

if (strpos($url, '?') !== false) {
    $t = explode('?',$url);
    $url = $t[0];            
}      
Run Code Online (Sandbox Code Playgroud)

生成的url变量现在包含

http://images.fitnessmagazine.mdpcdn.com/sites/story/shutterstock_65560759.jpg

使用pathinfo()来检索所需的详细信息.

$pathinfo = pathinfo($url);
echo $pathinfo['filename'].'.'.$pathinfo['extension'];
Run Code Online (Sandbox Code Playgroud)

这将使shutterstock_65560759.jpg作为输出.


Rav*_*ane 5

考虑以下是图像路径$ image_url =' http://development/rwc/wp-content/themes/Irvine/images/attorney1.png '; 从这个url获取带扩展名的图像名,使用下面的函数basename(); 看下面的代码

码:

$image_url='http://development/rwc/wp-content/themes/Irvine/images/attorney1.png';
echo basename($image_url);
Run Code Online (Sandbox Code Playgroud)

输出:attorney1.png