0

我有一个 cURL 请求:

$ch = curl_init('http://domain.com/file.ext');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);

$response = curl_exec($ch);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
$extension = '?' // How? 

并且想根据内容类型获取 URL 的扩展名,但是如何?

我已经阅读了一些正则表达式,但是,如果我的文件有多个点或扩展名,例如:

file.renamed.with.multiple.dots.png
file.zip.rar

而且,如果我有一个类似的文件file.ext并且知道内容类型是image/png,但扩展名不是png

谢谢!

4

2 回答 2

2

如果您想获取文件名,请检查此帖子。 卷曲以在以下位置后获取远程文件名

如果文件中有多个点,您可以简单地使用explode函数获取扩展名

例如

$filename="this.is.the.file.png";
$filename_arr = explode(".", $filename);
$count_of_elements = count($filename_arr);
$file_extension = $filename_arr[$count_of_elements - 1];
于 2012-09-16T21:55:21.677 回答
0

我已经完成了pathinfo($url)。我以为pathinfo只是path,但不是..

$url = 'http://domain.com/file.ext';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);

$response = curl_exec($ch);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
$pathinfo = pathinfo($url);
$extension = $pathinfo['extension'];
于 2012-09-16T21:53:55.950 回答