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