PHP - 如何包含php类文件并执行函数

时间:2011-10-26 16:55:02

标签: php class amazon-web-services amazon

我正在尝试使用PHP为amazon的AWS api创建签名请求。我对PHP不太熟悉所以这个问题可能看起来非常明显,所以我很抱歉 -

亚马逊提供了用于生成使用其API的签名请求的示例代码 - 可在此处找到:

http://aws.amazon.com/code/AWIS/402

他们的指示简单说明:

Run php urlinfo.php ACCESS_KEY_ID SECRET_ACCESS_KEY site

但我不知道如何“运行”一个php文件。我的直觉是包含php文件,所以我可以调用它的公共urlInfo函数:

UrlInfo($accessKeyId, $secretAccessKey, $site)

但如果我加入它:

<?php require_once ('urlinfo.php'); ?>

该页面自动生成消息:

Usage: ACCESS_KEY_ID SECRET_ACCESS_KEY site

那么如何从我的索引文件中调用这个php文件并将其传递给它所需的参数呢?

4 个答案:

答案 0 :(得分:1)

删除urlinfo.php文件底部的以下代码。

if (count($argv) < 4) {
    echo "Usage: $argv[0] ACCESS_KEY_ID SECRET_ACCESS_KEY site\n";
    exit(-1);
}
else {
    $accessKeyId = $argv[1];
    $secretAccessKey = $argv[2];
    $site = $argv[3];
}

$urlInfo = new UrlInfo($accessKeyId, $secretAccessKey, $site);
$urlInfo->getUrlInfo();

然后您可以使用以下代码生成您需要的urlinfo。

$urlInfo = new UrlInfo($accessKeyId, $secretAccessKey, $site);
$urlInfo->getUrlInfo();

答案 1 :(得分:1)

假设你有unix命令行:

从命令行输入“which php”,看看你的shell是否知道你的php bin文件的位置。如果您获得路径,请键入该路径以运行该文件,然后输入参数ACCESS_KEY_ID SECRET_ACCESS_KEY site

实施例: / usr / local / bin / php urlinfo.php ACCESS_KEY_ID SECRET_ACCESS_KEY网站


答案 2 :(得分:1)

urlinfo.php脚本旨在通过PHP命令行界面运行,并期望通过cli传递参数。

如果删除以下代码部分:

if (count($argv) < 4) {
    echo "Usage: $argv[0] ACCESS_KEY_ID SECRET_ACCESS_KEY site\n";
    exit(-1);
}
else {
    $accessKeyId = $argv[1];
    $secretAccessKey = $argv[2];
    $site = $argv[3];
}

然后做:

$accessKeyId = "youkeyid";
$secretAccessKey = "yoursecret"; 
$site = "yoursite";

include('urlinfo.php');

它将按预期工作。

答案 3 :(得分:0)

运行文件的说明意味着您应该在命令提示符中键入该命令。

示例代码就是一个样本。因此,他们试图让您轻松运行它而不将其放入Web服务器。相反,你可以直接在它上面执行php。

如果要在Web服务器中运行它,则需要重写该示例。