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)。私はそうだと思ったpathinfopath、そうではなかった。

$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 に答える