我用PHP模拟浏览器取验证码后该怎么在网页上显示出来呢,求知道的大神解答下,我下面的程序错在哪?<?php
header("Content-Type:image/gif charset=utf-8");
$cookiejar = realpath('cookie.txt');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://cjcx.jxbsu.com/sys/ValidateCode.aspx");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 设置连接结束后保存cookie信息的文件
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
$data = curl_exec($ch);
curl_close($ch);
imagepng($data);
imagedestroy($data);
?>验证码模拟登陆

解决方案 »

  1.   

    <?php
    //header("Content-Type:image/gif charset=utf-8");
    $cookiejar = realpath('cookie.txt');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://cjcx.jxbsu.com/sys/ValidateCode.aspx");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // 设置连接结束后保存cookie信息的文件
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
    $data = curl_exec($ch);
    curl_close($ch);
    //imagepng($data);
    //imagedestroy($data);//写到文件
    //输出 IMG 标签 ~ 
    echo '<img src=imgPath />';?>
      

  2.   

    你这个 $data直接是图片二进制信息 ,  用 imagePNG是画不出来的 建立 PNG 图型。
    语法: int imagepng(int im, string [filename]);
    返回值: 整数
    函数种类: 图形处理
      

  3.   

    resource imagecreatefromjpeg ( string filename ) -- 从 JPEG 文件或 URL 新建一图像 
    好像大都是从文件加载的~   
      

  4.   

    你这个程序就算写对了也没什么意义,
    对于验证码,重点不是保存cookies,而是读取cookies发过去
    换言之,你应该是在获取验证码前,访问某个地址获取cookies,再让curl用这个cookies去获取验证码
      

  5.   

    $data = curl_exec($ch);
    改为
    $data = imagecreatefromstring(curl_exec($ch));
      

  6.   

    直接用file_put_contents写入本地文件。
      

  7.   

    如果你请求这张图片时没有返回cookie他就会在返回验证码的同时再带一个cookie过来
      

  8.   

    你好,我这样写还是没用啊
    <?php
    header("Content-Type:image/gif");
    $cookiejar = realpath('cookie.txt');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://cjcx.jxbsu.com/sys/ValidateCode.aspx");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // 设置连接结束后保存cookie信息的文件
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
    $data = imagecreatefromstring(curl_exec($ch));curl_close($ch);
    imagegif($data);
    imagedestroy($data);
    ?>