我使用curl在用户单击按钮时进行外部调用。似乎我需要使用cookiefile/cookiejar来存储一些临时信息,否则它将无法工作。
下面是代码摘录:
if (!is_dir("/tmp/cookies"))
mkdir("/tmp/cookies");
$cookie_path = "/tmp/cookies/$idHash";
function curl_cookie_set($submit_url)
{
global $cookie_path;
//sets the cookie file so the post function will work correctly
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $submit_url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_path);
$result = curl_exec ($ch);
curl_close ($ch);
}
目前,我正在为每个用户创建一个新的cookie文件,但我想知道这是否是最有效的方法。是否有一种方法将cookie信息存储在会话变量中?或者是否有可能(并且可行)将它们全部存储在一个文件中?你对这个问题有什么看法?
你已经在做像网络呼叫一样低效的事情了,你还在担心一个小小的文本文件?