在线调用php功能

时间:2014-03-25 09:25:13

标签: php api function include

我有疑问是否有可能。

我已按照设置进行操作:

服务器上的服务器,带有php Horticultural文件的服务器上有php功能。现在我想在我的本地网络服务器上加载,然后调用函数

SERVER: API.php

<?php

function random_password() {

    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";

    $pass = array(); //remember to declare $pass as an array

    $alpha_length = strlen($alphabet) - 1; //put the length -1 in cache

    for ($i = 0; $i < 8; $i++) {

        $n = rand(0, $alpha_length);

        $pass[] = $alphabet[$n];

    }

    return implode($pass); //turn the array into a string

}

?>

本地: test_locaal.php

<?php

include "http://***api.new*******.nl/API.php";

print_r(random_password());
?>

我收到以下错误

致命错误:在第5行的E:\ Webserver \ root \ API \ test_online.php中调用未定义的函数random_password()

1 个答案:

答案 0 :(得分:0)

你所做的是通过http包含php文件。这导致PHP执行php代码并返回结果。但是你的api php文件没有返回任何输出。

您可能想要做的是通过网址将您的API称为服务。您的API应作为服务器运行,接受请求并回复响应。

网上有很多关于如何实现这一目标的教程,并且还有相当多的库和框架。

为了保持简单,你可以做另外的事情。构建您的api,只需调用提供所需输出的文件即可。即:

<强> API / random_password.php

<?php

$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
$pass = array(); //remember to declare $pass as an array
$alpha_length = strlen($alphabet) - 1; //put the length -1 in cache
for ($i = 0; $i < 8; $i++) {
  $n = rand(0, $alpha_length);
  $pass[] = $alphabet[$n];
}

echo json_encode(implode($pass)); //turn the array into a string and output it

local:test_locaal.php

<?php
$randomPassword = file_get_contents("http://***api.new*******.nl/api/random_password.php");

print_r($randomPassword);