0

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

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

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

4

5 回答 5

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";

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

于 2010-04-14T19:21:27.920 回答
1

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

要回答“如果 $url 包含http://yahoo.com/ ”,则可以执行以下操作:

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

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

于 2010-04-14T19:33:30.813 回答
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. 也许您的意思$_GET不是$get检索urlURL 中包含的参数?

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

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

<?= $qqq ?>应该按原样工作)。

于 2010-04-14T19:39:07.243 回答
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 的响应?

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

如果没有看到你所有的代码,这里没有人能够猜出你做错了什么,但它应该很容易、有趣和有指导意义,让你自己弄清楚。

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

于 2010-04-14T21:02:17.233 回答
0

确保你有 PHP 警告——error_reporting(E_ALL)无论如何你都应该在开发环境中设置。

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

于 2010-05-12T23:59:05.117 回答