我有网址:
https://jumbo-beta.iskon.hr/dl/6c6e4510-765b-401f-9793-f98a8e6e941b
我想知道该网址背后的文件详情。 (电影名称,大小等)我不想下载文件,只是找到详细信息。
这可以用php完成吗?
THX
答案 0 :(得分:0)
是的,你有能力做到这一点!
我认为最好的方法是从HTTP头获取它,另一种方法是在临时目录下载并从中提取信息。
编辑
实施例
<?php
$headers = get_headers("https://jumbo-beta.iskon.hr/dl/6c6e4510-765b-401f-9793-f98a8e6e941b");
preg_match_all("/(?P<key>([\w-]+)):(\s+)?(?P<value>(.+))/", implode("\r\n", $headers), $matches);
$values = array_combine($matches['key'], $matches['value']);
preg_match('/filename="(?P<name>(.+))"/', $values['Content-Disposition'], $file);
$content_type = $values['Content-Type'];
$filesize = $values['Content-Length'];
$filename = $file['name'];
var_dump($content_type, $filesize, $filename);
然后你可以访问所有...
以下代码的输出......
string 'image/jpeg; charset=ISO-8859-2' (length=31)
string '130677' (length=7)
string 'WWW.YIFY-TORRENTS.COM.jpg' (length=25)
答案 1 :(得分:0)
get_headers
会在返回之前下载整个文件,因为它会使用GET
请求。
在致电get_headers
之前,请使用以下内容:
stream_context_set_default(array('http' => array('method' => 'HEAD')));
答案 2 :(得分:0)
是的,在PHP中有很多函数可以返回有关文件的信息
finfo_file - finfo :: file - 返回有关文件的信息
此外,图像处理功能太多: exif_read_data可以帮到你!
<?php
$exif = exif_read_data("https://jumbo-beta.iskon.hr/dl/6c6e4510-765b-401f-9793-f98a8e6e941b", 0, true);
echo "test.jpg:<br />\n";
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<br />\n";
}
}
?>
输出:
test.jpg放在:
FILE.FileName:6c6e4510-765b-401f-9793-f98a8e6e941b
FILE.FileDateTime:0
FILE.FileSize:130677
FILE.FileType:2
FILE.MimeType:image / jpeg
FILE.SectionsFound:
COMPUTED.html:width =“350”height =“500”
COMPUTED.Height:500
COMPUTED.Width:350
COMPUTED.IsColor:1