如何在PHP中检查它是xml文件还是json文件
Posted
技术标签:
【中文标题】如何在PHP中检查它是xml文件还是json文件【英文标题】:How to check if it is a xml file or a json file in PHP 【发布时间】:2015-12-08 00:49:22 【问题描述】:如果 url 包含 json 文件的 xml,我如何检查 php。 所以在 $url 中保存了 url,然后它应该检查它是 xml 文件还是 json 文件。
$url = 'http://hello.asdasd/asdasd/asdasd';
if (($url == JSON) = TRUE) // how to check it is a json file, do the follwing action
$xml = file_get_contents($url);
$json = json_decode($xml, true);
else if ($url == XML) = TRUE) // how to check it is a XML file, do the follwing action
$xml = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
任何建议都会非常重要。
【问题讨论】:
【参考方案1】:简单的过程:
Attempt to decode it as JSON 检查错误 Attempt to load it as XML 检查错误您已经拥有大部分代码,只需调整您的 if
语句以检查尝试解码/加载数据的结果。
此外,由于它是一个网络资源,您可以交叉检查 MIME 类型。这将需要使用 file_get_contents()
以外的其他内容。
【讨论】:
【参考方案2】:我建议使用checking a file is valid Json.的解决方案
然后您只需检查字符串是否为 JSON,然后假定为 XML - 如果保证是其中之一!
【讨论】:
您可能不想假设它是 XML,因为它不是 JSON。 这就是为什么我说“如果它保证是一个或另一个”以上是关于如何在PHP中检查它是xml文件还是json文件的主要内容,如果未能解决你的问题,请参考以下文章
从 json 文件(php)登录检查用户和密码。如何从json文件中读取文件