Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用curl并将cookie存储为变量_Php_Variables_Curl - Fatal编程技术网

Php 使用curl并将cookie存储为变量

Php 使用curl并将cookie存储为变量,php,variables,curl,Php,Variables,Curl,我有一个curl函数,可以访问一个网站,登录到该网站,存储cookie文件,然后可以稍后读取cookie文件访问通常需要登录的页面 我面临的问题是,我想使用php变量保存和检索cookie文件,但似乎无法使其工作 $username = "myusername"; function getUrl($url, $method='', $vars='') { $ch = curl_init(); if ($method == 'post') { curl_setopt($ch, CURLOP

我有一个curl函数,可以访问一个网站,登录到该网站,存储cookie文件,然后可以稍后读取cookie文件访问通常需要登录的页面

我面临的问题是,我想使用php变量保存和检索cookie文件,但似乎无法使其工作

$username = "myusername";
function getUrl($url, $method='', $vars='') {
$ch = curl_init();
if ($method == 'post') {
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies/$username.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies/$username.txt");
$buffer = curl_exec($ch);
curl_close($ch);
return $buffer;
}

我假设语法是错误的,并不是说curl不能将变量作为位置处理?

问题在于
$username
变量的范围。因为它在函数外部,所以在函数内部不可用。您应该添加用户名作为函数的参数,或者使用
global
关键字,以便可以在函数内部访问它


有关更多信息,请参阅。

是否存在
cookies/
文件?它可由web服务器用户写入吗?是和是。我知道,因为如果我给它命名任何东西(这不是一个变量),即使.txt文件不存在,它也会创建它。这基本上就是我的目标,除了使用变量而不是硬编码文本谢谢!全局$用户名;函数内部修复了我的问题!