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() 函数会销毁输出缓冲区。

  • 相关阅读:
    闭包
    关于this
    插件开发(对象级)
    IFC
    flex.css
    js移动端滑动事件
    Android 手机下输入框获取焦点时, 输入法挡住输入框的 bug
    vue 组件化spreadjs预览excel
    feign 熔断工厂 fallbackFactory的简单实现
    bat脚本批量启动程序
  • 原文地址:https://www.cnblogs.com/rosestudy/p/4905664.html
Copyright © 2011-2022 走看看