【问题标题】:Cron task / Grab data (Curl?) Insert into form and submit itCron 任务/抓取数据(Curl?)插入表单并提交
【发布时间】:2012-09-10 20:28:20
【问题描述】:

我正在尝试从外部网站检索数据,该网站有 1 行文本 / URL,每 5 分钟更改一次。现在我想获取这个 URL 并使用这个 URL 提交一个表单(每 5 分钟)并将其存储到我的数据库中(php 文件上的 Cron 作业?)或者将它直接插入到我的 mysql 数据库中。

这可能吗?

【问题讨论】:

    标签: php curl cron


    【解决方案1】:

    据我了解,您想要获得 2 个任务:

    1) 从外部页面获取 URL 并将其存储在您的数据库中

    2) 以上每 5 分钟执行一次。

    他们在这里:

    1) CURL 是一个好方法,应该在所有服务器上都可用。您也可以尝试 file_get_contents 它不受服务器限制。卷曲函数如下所示:

    <?php
    function curl_get_file_contents($URL)
        {
            $c = curl_init();
            curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($c, CURLOPT_URL, $URL);
            $contents = curl_exec($c);
            curl_close($c);
    
            if ($contents) return $contents;
                else return FALSE;
        }
    ?>
    

    此函数返回带有页面内容的字符串。可能您需要从那里提取您的 URL,如果 URL 具有恒定长度,则使用 PHPs SUBSTR 或 STRPOS。获取 URL 后,将其存储在 DB 中 - 无需使用表单。

    2) 每 5 分钟执行一次脚本的最简单方法是使用 javascript。它会是这样的:

    <html>
    <head>
    <script type="text/JavaScript">
    <!--
    function timedRefresh(timeoutPeriod) {
        setTimeout("location.reload(true);",timeoutPeriod);
    }
    //   -->
    </script>
    </head>
    <body onload="JavaScript:timedRefresh(300000);">
    <?php // your code here
    

    此页面将每 5 分钟(30 万毫秒)刷新一次,并且每次都会执行 PHP 脚本 - 但您必须在浏览器中不断打开它。这是一个问题,使用 CRON(我几乎没有使用它,所以我没有帮助)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      • 2012-06-23
      • 2015-05-15
      • 1970-01-01
      • 2017-02-11
      相关资源
      最近更新 更多