PHP的file_get_contents
工作正常但不在函数内部。但是,在将其移动到函数并在没有任何其他更改的情况下调用该函数之后,代码将停止工作。
这(功能之外)有效......
$cpuser = 'exampl';
$cppass = 'PASSWORD';
$cpdomain = 'example.com';
$cpskin = 'darnkids';
$emailname = 'darnkids';
$emaildomain = 'example.com';
$password = 'PASSWORD';
$quota = '0';
$result1 = file_get_contents("https://$cpuser:$cppass@$cpdomain:2083/frontend/$cpskin/mail/doaddpop.html?email=$emailname&domain=$emaildomain&password=$password"a=$quota");
echo $result1;
这个相同的代码(在函数内部)不起作用......
$cpuser = 'exampl';
$cppass = 'PASSWORD';
$cpdomain = 'example.com';
$cpskin = 'darnkids';
$emailname = 'darnkids';
$emaildomain = 'example.com';
$password = 'PASSWORD';
$quota = '0';
function account_create()
{
$result1 = file_get_contents("https://$cpuser:$cppass@$cpdomain:2083/frontend/$cpskin/mail/doaddpop.html?email=$emailname&domain=$emaildomain&password=$password"a=$quota");
echo $result1;
}
account_create();
无论是什么,我都需要能够捕获响应。为什么file_get_contents
在函数内部不起作用,如何让它在函数内部工作?
答案 0 :(得分:3)
答案 1 :(得分:1)
当您将对file_get_contents的调用移动到函数中时,用于定义文件名的变量是本地版本,这些版本未在您的函数中定义。将变量移动到函数中,将它们作为参数传递。
答案 2 :(得分:1)
正如@Alex所述,全局变量不可用。如果您不想定义全局变量(无论出于何种原因),请确保您的函数包含第一个片段中的所有数据。像这样的东西。
function account_create(){
$cpuser = 'exampl';
$cppass = 'PASSWORD';
$cpdomain = 'example.com';
$cpskin = 'darnkids';
$emailname = 'darnkids';
$emaildomain = 'example.com';
$password = 'PASSWORD';
$quota = '0';
$result1 = file_get_contents("https://$cpuser:$cppass@$cpdomain:2083/frontend/$cpskin/mail/doaddpop.html?email=$emailname&domain=$emaildomain&password=$password"a=$quota");
echo $result1;
}
account_create();
如果这对您的用例不起作用,您可以始终将部分或全部数据传递给该函数。比如...
function account_create($cp_user, $cppass){
...
}
account_create('example1', 'PASSWORD');
您可以选择许多选项。希望这有点帮助。