Php 获得;“文件名”;以及wget响应的扩展

Php 获得;“文件名”;以及wget响应的扩展,php,wget,Php,Wget,有没有一种简单的方法可以从使用PHP通过wget下载的文件中获取文件名和扩展名 确切的问题是。 我正在尝试访问用户接受我的facebook应用程序后的facebook图像 //e.g wget http://graph.facebook.com/663660516/picture 因此,我不知道下载文件的文件名/扩展名。使用以下方法,我可以获得文件名: <?php ob_start(); passthru('wget http://graph.facebook.com/66366051

有没有一种简单的方法可以从使用PHP通过wget下载的文件中获取文件名和扩展名

确切的问题是。 我正在尝试访问用户接受我的facebook应用程序后的facebook图像

//e.g
wget http://graph.facebook.com/663660516/picture

因此,我不知道下载文件的文件名/扩展名。

使用以下方法,我可以获得文件名:

<?php

ob_start();
passthru('wget http://graph.facebook.com/663660516/picture 2>&1');
$out = ob_get_contents();
ob_end_clean();

if (preg_match('/saving to:.{4}([a-z0-9\.-_]*)/i', $out, $match)) {
    var_dump($match);
} else {
    echo "No match";
}
$result[1]
中,您可以使用或类似的方法获取扩展名和名称

注意:正则表达式中的{4}使用文件周围的特殊引号(
)字符wget输出(至少在我的系统上)。它在PHP中注册为3个字节长,我无法通过字符代码与之匹配,因此我认为这有点像黑客。还假设系统语言为英语,因为它在输出中查找
保存到:


希望这能有所帮助。

那么你想知道如何获取任何文件的名称和扩展名吗?你能提供更多详细信息吗?这太模糊了。从技术上讲,你不能。你所能做的就是根据URL或
内容配置
标题(如果存在)进行猜测。谁知道远程服务器上的实际文件名是什么。添加了更多信息详细信息。但不,我不知道文件名或扩展名。您尝试过任何方法吗?如果您能提供更详细的问题,并包括对您有效或无效的内容,您更有可能找到解决问题的帮助。
array(2) {
  [0]=>
  string(47) "Saving to: “275781_663660516_1323021723_q.jpg"
  [1]=>
  string(33) "275781_663660516_1323021723_q.jpg"
}