我有一个脚本,可以从用户提供的URL中找到图像。
因此对于输入字符串:“http://www.google.com/”, 我使用像
这样的东西$html = file_get_html ( $url );
if ($html->find ( 'img' )) {....}
它将结果显示为“http://www.google.com/images/srpr/logo3w.png”。
但是,如果用户输入字符串“http://www.google.com/images/srpr/logo3w.png”。没有img标签。 URL有效,但代码失败。这种情况如何包含在代码中?
答案 0 :(得分:1)
执行此操作的最佳方法是perform a HEAD request并检查内容类型以查看网址是否与图片相对应。如果它是一个图像,那么随意做任何事情,但如果它是一个HTML页面,那么使用你的其他代码。
答案 1 :(得分:1)
您可以使用curl从服务器获取内容类型。然后,如果它是一个图像mime类型,你可以直接使用它而不是解析html。
答案 2 :(得分:0)
根据您要对图片执行的操作,我会使用file_get_contents获取页面内容,然后使用imagecreatefromstring将其转换为gd图像资源。如果它无法将其转换为图像,则返回false,因此您可以使用str_get_html来解析html(假设您正在使用http://simplehtmldom.sourceforge.net/)