【问题标题】:cURL Display from another pagecURL 从另一个页面显示
【发布时间】:2013-09-29 14:29:15
【问题描述】:

我正在运行 PHP 5.4。

这是我的设置:

../checker.php

../index.php

来自 conscript.php 我使用 cronjob 每 5 分钟左右运行一次,但我希望 cURL 的回显显示在 index.php 上。如何在 index.php 接收回声?

也可以让 cURL 将 checker.php 的结果存储在 ehm 文件中。 results.php 并让 index.php 从 results.php 中抓取/iframe,但我不知道如何。

【问题讨论】:

  • 将 cURL 结果存储在一个文件中,并使用 file_get_contents() 或 index.php 中的其他文件函数来读取和回显它。
  • 我相信this 就是您要找的。​​span>
  • @user2745919 file_get_contensts() 我可以尝试,但我将如何将 cURL 结果存储在文件中呢?从现在的方式来看,我访问了该页面。它运行 cURL 脚本并用 echo 显示它。
  • cron 编写 php 文件以 cURL 页面并将其保存到本地文件。您只想在有人访问索引时回显它,因此将读取/回显代码放在索引中。
  • @AmalMurali 这似乎不起作用。仅显示普通页面 (index.php) 但没有结果。没有错误或它显示的任何内容。奇怪。

标签: php curl cron


【解决方案1】:

cronCheckUrls.php

<?
//Set name of text file
$file = "urlUpResults.txt";

//Create blank file/delete contents of existing file before run rest of script
file_put_contents($file, " ");

//Build array of sites to check
$sitesArray = array("http://www.minecraft.net", "http://www.4stats.tk", "http://www.google.com", "http://www.stackoverflow.com", "http://www.brokentestwebsite.com");


foreach ($sitesArray as $value) { 
if (TPBUC($value))
    $upStatus = "<p>" . $value . " is up.</p>";
 else
    $upStatus = "<p>" . $value . " is down.</p>";
    file_put_contents($file, $upStatus, FILE_APPEND);
}


//cURL function

        function TPBUC($url){
             $agent = "Mozilla/5.0 (compatible; TPBUC/1.0;)";$ch=curl_init();
             curl_setopt ($ch, CURLOPT_URL,$url );
             curl_setopt($ch, CURLOPT_USERAGENT, $agent);
             curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
             curl_setopt ($ch,CURLOPT_VERBOSE,false);
             curl_setopt($ch, CURLOPT_TIMEOUT, 5);
             curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
             curl_setopt($ch,CURLOPT_SSLVERSION,3);
             curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
             $page=curl_exec($ch);
             $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
             curl_close($ch);
             if($httpcode>=200 && $httpcode<400) return true;
             else return false;
      }

?>

index.php

<?
$file = "urlUpResults.txt";
echo "<h1>UpCheck results:<h1><br>" . file_get_contents($file);
?>

【讨论】:

  • 这似乎可以胜任!太好了,谢谢。然而。在 txt 中它只是出于某种原因说 get_content。
  • 似乎仍然只是说类名。由于 cURL 的完成方式,它可能会发生冲突。不知道怎么做。这是我与您结合使用的代码。 pastebin.com/UMJXQCts
  • 好的,现在实际测试了,有语法错误,现在修复了。将检查您的代码。
  • 您真的需要保存网站页面 (html) 吗?如果您只需要知道网站是否在此处:pastebin.com/TsG0uLhA
  • 我不想保存这些网站的 HTML 页面。但是,我希望将结果保存在 TXT 或其他内容中,然后让它在索引处转换为 HTML。这样,它就不会每次都执行 cURL 并且每次刷新检查器时都会向网站发送垃圾邮件。这将是设置。 (cURL 主脚本。每 5 分钟检查一次正常运行时间。--> 检查主脚本回显并以 TXT 或其他格式保存结果(在线或离线)--> 索引在 TXT 询问是否关闭。并将其解析为主页 --> 向用户显示是否关闭。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
  • 2018-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多