Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用curl w/PHP 5.3.x保存未知文件_Php_File_Curl - Fatal编程技术网

使用curl w/PHP 5.3.x保存未知文件

使用curl w/PHP 5.3.x保存未知文件,php,file,curl,Php,File,Curl,我正在尝试归档一个有用户发布的附件的基于web的论坛。到目前为止,我使用了php cURL库来获取各个主题,并且能够保存原始页面。但是,我现在需要找到一种方法来归档位于站点上的附件 问题是:由于文件类型不一致,我需要找到一种方法以正确的扩展名保存文件。请注意,我计划在保存文件时重命名该文件,以便以后可以轻松找到它 页面中附加文件的链接格式如下: <a href="https://example.com/get_file?fileId=4342343212223">some file.

我正在尝试归档一个有用户发布的附件的基于web的论坛。到目前为止,我使用了php cURL库来获取各个主题,并且能够保存原始页面。但是,我现在需要找到一种方法来归档位于站点上的附件

问题是:由于文件类型不一致,我需要找到一种方法以正确的扩展名保存文件。请注意,我计划在保存文件时重命名该文件,以便以后可以轻松找到它

页面中附加文件的链接格式如下:

<a href="https://example.com/get_file?fileId=4342343212223">some file.txt</a>

我已经使用preg_match()获取附加文件的URL。我现在最大的问题是确保获取的文件以正确的格式保存

我的问题是:有没有办法有效地获取文件类型?我不想使用正则表达式,但我看不到任何其他方法。

我会研究


查看在获得文件类型时是否可以自动获取该文件类型。

您可以使用DOMDocument和DOMDxpath安全地提取URL和文件名

$doc=new DOMDocument();
$doc->loadHTML($content);
$xpath= new DOMXpath($doc);
//query examples:
foreach($xpath->query('//a') as $node)
    echo $node->nodeValue;
foreach($xpath->query('//a/@href') as $node)
    echo $node->nodeValue;

提供文件时,服务器是否添加了正确的内容类型标题字段?然后,您可以通过设置
CURLOPT\u HEADER
file\u get\u contents
+
$http\u response\u HEADER
截取该信息