使用php从url检索文件信息

时间:2017-06-03 16:49:49

标签: php

我正在尝试从包含该文件的网址中检索文件的信息。但是如何在将文件下载到我的服务器之前获取文件的信息。 我需要文件信息,如文件大小,文件类型等

我找到了验证和下载文件的代码,但是在将文件实际下载到服务器之前如何从中获取信息

<?php
function is_url_exist($url)
    {
    $ch = curl_init($url);    
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_exec($ch);
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if($code == 200)
        {
        $status = "true";
        }
    curl_close($ch);
    if ( $status == true)
        {
        $name = "abc.png";
        if (file_put_contents("uploads/$name", file_get_contents($url)))
            echo "file uploaded";
        else
            echo "error check upload link";
        }
    }
$url = "http://theonlytutorials.com/wp-content/uploads/2015/06/blog-logo1.png";
echo is_url_exist($url);
?>

2 个答案:

答案 0 :(得分:2)

为此,您可以查找站点标题,这些标题将告诉该文件的所有详细信息,即文件大小等。...

您可以通过

获取标头在php中完成此操作

fech标头的格式为get_headers($url)get_headers($url),并且如上一个答案中所示的代码是正确的

<?php
   $url = "http://theonlytutorials.com/wp-content/uploads/2015/06/blog-logo1.png";
$headers = get_headers($url,1);
print_r($headers);
?>

这将为您提供array / json格式的数据,该数据将存储您所需的所有必需详细信息。

有关详细信息,您可以参考http://php.net/manual/en/function.get-headers.php

答案 1 :(得分:1)

您可以通过get_headers功能获取远程文件的所有信息。请尝试以下代码来查找类型,内容长度等。

$url = "http://theonlytutorials.com/wp-content/uploads/2015/06/blog-logo1.png";
$headers = get_headers($url,1);
print_r($headers);

了解有关get_headers的更多信息,请点击http://php.net/manual/en/function.get-headers.php