<?php
$discuz_url = 'http://127.0.0.1/discuz/';//论坛地址
$login_url = $discuz_url .'logging.php?action=login';//登录页地址
$post_fields = array();
//以下两项不需要修改
$post_fields['loginfield'] = 'username';
$post_fields['loginsubmit'] = 'true';
//用户名和密码,必须填写
$post_fields['username'] = 'tianxin';
$post_fields['password'] = '111111';
//安全提问
$post_fields['questionid'] = 0;
$post_fields['answer'] = '';
//@todo验证码
$post_fields['seccodeverify'] = '';//获取表单FORMHASH
$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec($ch);
curl_close($ch);
preg_match('/<input\s*type="hidden"\s*name="formhash"\s*value="(.*?)"\s*\/>/i', $contents, $matches);
if(!empty($matches)) {
    $formhash = $matches[1];
} else {
    die('Not found the forumhash.');
}//POST数据,获取COOKIE,cookie文件放在网站的temp目录下
$cookie_file = $cookie_file=dirname(__FILE__).'/cookie/cookie.txt';$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_exec($ch);
curl_close($ch);?>
测试时可以保存cookie文件 但是在服务器 怎么保存不了?
文件目录有写的权限。请问究竟是什么问题?

解决方案 »

  1.   

    文件目录应该给Web用户写权限,而不是给你的系统登陆用户写权限。你应该先试着给文件全部权限,看看是不是权限的问题。
      

  2.   

    我在windows Xp自己搭建的环境下 可以保存 在linux服务器上为什么保存不了?
      

  3.   

    汗。。 不是用session 或者cookie的问题 现在遇到的问题 是为什么保存不了 cookie?
      

  4.   

    怎么创建?这个程序是模拟登陆....目的是获取cookies而不是创建