1

首先,我有一个 php 文件的 cron 作业。其次,在cron作业调用的php文件中,我想调用一个带参数的文件。我怎么能在不改变 php.ini 的情况下做到这一点?

例子:

include('file.php?id='.$id.');
4

4 回答 4

1

包括 get-parameters 将不起作用,因为 php 的 CLI 版本不支持它。还包括基于文件系统的作品,而不是基于 url 的作品。include 将/应该搜索文件 file.php?id=1。您应该创建一个函数并默认包含该文件,然后调用该函数

包含带有 url 的远程文件是一种非常非常糟糕的做法。如果你认为你必须这样做,那么你的概念很简单。尝试使用 api/其他类型的接口与远程 URL 进行交互。

于 2012-05-21T09:25:39.293 回答
0

您可以在其他文件中定义一个函数,并在原始文件中调用它。例如:

文件.php:

function someFunction($x)
{
 return $x*$x;
}

cron.php:

require 'file.php';
echo someFunction(10);

此外,在全局范围内定义的任何变量也将在其他文件中可用。例如,如果您在 cron.php 中定义 $foo,您可以在 file.php 中使用该值。虽然不推荐这样做,但是维护大量的全局变量确实很难。

于 2012-05-21T09:23:46.183 回答
0

根据包含文档,如果其他 php 文件配置为解析 .php 而不是 .txt 是可能的。试试这个代码:

/* This example assumes that www.example.com is configured to parse .php
* files and not .txt files. Also, 'Works' here means that the variables
* $foo and $bar are available within the included file. */

// Won't work; file.txt wasn't handled by www.example.com as PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Works.
include 'file.php';  // Works.
于 2012-05-21T09:39:25.633 回答
-2

最简单的方法是使用file_get_contents()

file_get_contents('http://localhost/file.php?id='.$id.');

对于更复杂的情况,您可以查看 PHP Curl。

于 2012-05-21T09:22:37.777 回答