Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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
Php 阅读网站的文件内容?_Php - Fatal编程技术网

Php 阅读网站的文件内容?

Php 阅读网站的文件内容?,php,Php,我只想检查链接中是否存在图像。我将其加载到iframe中。它工作正常,但似乎他们已经删除了图像,但仍然存在一个空白的.gif 注意:链接是另一个域 我徒劳地尝试了以下代码: <?php $varia = file_get_contents($url); echo $varia; echo "<pre>"; print_r(get_headers($url)); ?> 我在输出中得到的只是: HTTP错误404 访问问题 我想设置一个条件,如果bla

我只想检查链接中是否存在图像。我将其加载到iframe中。它工作正常,但似乎他们已经删除了图像,但仍然存在一个空白的.gif

注意:链接是另一个域

我徒劳地尝试了以下代码:

<?php
  $varia  =   file_get_contents($url);
  echo $varia;
  echo "<pre>";
  print_r(get_headers($url));
?>
我在输出中得到的只是:

HTTP错误404 访问问题

我想设置一个条件,如果blank.gif退出……一些条件,其他一些条件

我该怎么办?

试试看
if(getimagesize($url))
{
  //image exist
}
else
{
  //image not exist
}
您可以使用以下代码:

function imageExists($uri) {
    $info = @getimagesize($uri);
    return is_array($info);
}

if (imageExists($uri)) {
   ...
}

在我看来,测试URI是否为图像的最佳方法是查看返回的内容。如果它返回一个
数组
,则它是一个图像:


如果你从普通浏览器访问这个URL,你会得到404吗?不,我不会。我可以打开linkEven,get_headers函数返回响应200,但在输出中,我得到的是“HTTP错误404访问问题”。奇怪的是,也许你需要在标题中指定一个用户代理-我不记得
file\u get\u contents
使用了什么,但试着将其重置为其他内容。(在我看来,您不应该将robot设置为普通浏览器,因为服务器操作员有权阻止您)。此外,您可能需要此映像的会话/cookie支持。如果是这样,试试痛风。
if(getimagesize($url))
{
  //image exist
}
else
{
  //image not exist
}
function imageExists($uri) {
    $info = @getimagesize($uri);
    return is_array($info);
}

if (imageExists($uri)) {
   ...
}