如何回显我们用file_get_contents读取的数据

时间:2010-04-14 19:19:28

标签: php function if-statement file-get-contents

我想检查远程网址的页面内容。如果远程站点的页面内容包含字符串http://yahoo.com,则设置$ qqq = YH(如果不包含$ qqq = NOYH)。我不是在谈论“网页的网址”我在谈论网址的内容

$url = "'".$get['url']."'";
$needle = "http://yahoo.com/";
$contents = file_get_contents($url);
if(stripos($contents, $needle) !== false) {
    $qqq = "YH";
}

但它不起作用。任何人都能用正确的语法帮助我吗?感谢..

5 个答案:

答案 0 :(得分:2)

$url = $get['url'];
$needle = "http://yahoo.com/";
$contents = file_get_contents($url);
if(stripos($contents, $needle) !== false) {
  $qqq = "YH";
  echo $qqq; // <--in order to echo, you need to call echo.
}

如果你的目标只是回显YH,如果它存在,你可以直接用它来调用,

echo "YH";

而不是将其存储到变量中。

答案 1 :(得分:1)

您的问题和标题似乎有些混乱。

要回答“如果$ url包含http://yahoo.com/”,则以下内容将执行:

$url = "'".$get['url']."'";
$needle = "http://yahoo.com/";
if(stripos($url, $needle) !== false) {
  $qqq = "YH";
}

当然,您可以使用<?=$qqq?>输出结果。

答案 2 :(得分:1)

它认为你的代码不起作用。出于多种原因:

  1. 在第一行中,您将创建一个包含单引号的字符串。基本上,$url包含'http://url.here'之类的内容。如果您将此传递给file_get_contents,则会收到错误消息:

    $url = "'http://www.google.com'";
    echo file_get_contents($url);
    
    Warning: file_get_contents('http://www.google.com/'): failed to open stream: 
    No such file or directory in ...
    
  2. 您说要检查$url是否包含某个字符串。但是您正在检查URL指向的文档是否包含此字符串。

  3. <德尔> 3。也许您的意思是$_GET而不是$get来检索网址中包含的参数url

    好的,我从评论中读到你确实想在内容中搜索字符串。尽管如此,第一行代码是错误的,所以可能是:

    $needle = "http://yahoo.com/";
    $contents = file_get_contents($get['url']);
    if(stripos($contents, $needle) !== false) {
        $qqq = "YH";
    }
    

    <?= $qqq ?>应该按原样运行。)

答案 3 :(得分:0)

你需要调试,所以一步一步地分解它:

<?PHP
// make sure you see any errors (remove this later)
error_reporting(E_ALL);
ini_set('display_errors',1);

$url = $get['url'];
die($url);
?>

网址是否正确?

<?PHP
// make sure you see any errors (remove this later)
error_reporting(E_ALL);
ini_set('display_errors',1);

$url = $get['url'];
die(file_get_contents($url));
?>

你的脚本是否回应了来自$ url的响应?

然后继续构建并测试...

如果没有看到你的所有代码,那么这里的任何人都无法猜出你做错了什么,但是你应该轻松​​,有趣,并且教导你自己解决问题。

我希望这个答案会让你朝着正确的方向前进。

答案 4 :(得分:0)

确保您有PHP警告 - 无论如何,您应始终在开发环境中设置error_reporting(E_ALL)

确保您已允许URI作为基于fopen的函数的参数allow_url_fopen - http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen