我正在使用PHP + curl来检索XSL文件,但首先我想做一些最小的验证,该文件实际上是一个XSL文件。
我确保文件存在,状态代码为200,并且文件扩展名正确,但我想检查Content-Type的标题。我使用curl_getinfo()
函数执行此操作。一切都很好。
但是XSL文件总是返回“application/xml
”或“text/xml
”作为Content-Type,用于XML文件。我相信XSL标题应为“application/xslt+xml
”。那么这里发生了什么,我怎样才能确定它是一个XSL文档?
答案 0 :(得分:0)
您是否使用它来访问第三方网站或您自己配置的网站?如果它是您自己的站点,则需要根据文件扩展名设置Apache以提供适当的mime类型。
如果是第三方网站,我不确定你可以依赖mime类型,因为它们可以随心所欲地提供服务。最好的办法可能就是获取文件的前几行并检查根元素是否为xsl。
答案 1 :(得分:0)
您可以检查文件中的XSLT命名空间。
如果PHP版本> = 5.1.2,请使用SimpleXMLElement::getNamespaces()
答案 2 :(得分:0)
针对PHP 5的不同方法: