zoukankan      html  css  js  c++  java
  • 【问题】做图片验证码时乱码了,在header前加上ob_clean()就能神奇的显示?!

    源代码如下:

     1 <?php
     2    //图片验证码 
     3    // 该方法必须处于脚本最顶部
     4    session_start();
     5    // 验证码图片和对应的验证值的对应关系
     6    $table = array(
     7      'pic0' => '博美',
     8      'pic1' => '仓鼠',
     9      'pic2' => '萨摩',
    10      'pic3' => '泰迪',
    11        );
    12 
    13    $index = rand(0,3);
    14     
    15    $value = $table['pic'.$index];
    16    // 随机验证码图片对应的验证值
    17    $_SESSION['authcode'] = $value;
    18     
    19    // 验证码图片的地址
    20    $filename = dirname(_FILE_).'\pic'.$index.'.jpg';
    21    $contents = file_get_contents($filename);
    22    
    23    // 一开始图片不显示,显示一堆乱码,加上这句就好了!
    24    ob_clean();
    25 
    26    header('Content-Type:image/jpeg');
    27    echo $contents;
    28 
    29 ?>

    查了一下文档,它是这样说的,可是我还是不知道它在说什么咧~!

    void ob_clean ( void )

    此函数用来丢弃输出缓冲区中的内容。

    此函数不会销毁输出缓冲区,而像 ob_end_clean() 函数会销毁输出缓冲区。

  • 相关阅读:
    HDU 4901 The Romantic Hero
    COGS8 备用交换机
    POJ 1466 Girls and Boys
    bzoj3442 学习小组
    bzoj2054 疯狂的馒头
    POJ2135 Farm Tour
    POJ 1149 PIGS
    Html5 Canvas学习之路(五)
    关于跨域简单总结
    vue-baidu-map 进入页面自动定位的解决方案!
  • 原文地址:https://www.cnblogs.com/rosestudy/p/4905664.html
Copyright © 2011-2022 走看看