【WordPress教程】PHP图片验证码显示不出来的解决办法 WordPress教程 第1张

可能原因一

这个原因很少,因为现在的环境几乎都是默认安装GD库的。
服务器GD库未加载,PHP验证码依靠GD库。
解决办法,安装php的GD库扩展。

可能原因二

你的代码很可能是使用了像editpuls或者notepad++这样的文本编辑器编辑的,那么他们的默认编码格式就是有BOM的utf-8。UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支持UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行。
一般我用UTF-8无BOM格式

所以你需要将代码的编码格式改成无BOM格式。

解决办法

复制以下代码在网站根目录新建一个php文件,名称任意,然后访问它,正常情况下会返回网站所有文件的列表,红色字体提示的是有bom的,并且会自动去除bom:

                    
                      
                        
                          
                            
                              
                                
                                  
                                    <?php
                                
                              
                            
                          
                        
                        
                          
                            
                          
                        
                        
                          
                            
                              
                                
                                  
                                    /*清除bom*/
                                
                              
                            
                          
                        
                        
                          
                            
                          
                        
                        
                          
                            
                              
                                
                                  
                                    if
                                
                              
                            
                          
                        
                        
                          
                            (
                        
                        
                          
                            
                              
                                
                                  
                                    isset
                                
                              
                            
                          
                        
                        
                          
                            ($_GET[
                        
                        
                          
                            
                              
                                
                                  
                                    'dir'
                                
                              
                            
                          
                        
                        
                          
                            ])) { $basedir = $_GET[
                        
                        
                          
                            
                              
                                
                                  
                                    'dir'
                                
                              
                            
                          
                        
                        
                          
                            ]; }
                        
                        
                          
                            
                              
                                
                                  
                                    else
                                
                              
                            
                          
                        
                        
                          
                            { $basedir =
                        
                        
                          
                            
                              
                                
                                  
                                    '.'
                                
                              
                            
                          
                        
                        
                          
                            ; } $auto =
                        
                        
                          
                            
                              
                                
                                  
                                    1
                                
                              
                            
                          
                        
                        
                          
                            ; checkdir($basedir);
                        
                        
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            function
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            checkdir
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            ($basedir)
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                  
                                
                              
                            
                          
                        
                        
                          
                            {
                        
                        
                          
                            
                              
                                
                                  
                                    if
                                
                              
                            
                          
                        
                        
                          
                            ($dh = opendir($basedir)) {
                        
                        
                          
                            
                              
                                
                                  
                                    while
                                
                              
                            
                          
                        
                        
                          
                            (($file = readdir($dh)) !==
                        
                        
                          
                            
                              
                                
                                  
                                    false
                                
                              
                            
                          
                        
                        
                          
                            ) {
                        
                        
                          
                            
                              
                                
                                  
                                    if
                                
                              
                            
                          
                        
                        
                          
                            ($file !=
                        
                        
                          
                            
                              
                                
                                  
                                    '.'
                                
                              
                            
                          
                        
                        
                          
                            && $file !=
                        
                        
                          
                            
                              
                                
                                  
                                    '..'
                                
                              
                            
                          
                        
                        
                          
                            ) {
                        
                        
                          
                            
                              
                                
                                  
                                    if
                                
                              
                            
                          
                        
                        
                          
                            (!is_dir($basedir.
                        
                        
                          
                            
                              
                                
                                  
                                    "/"
                                
                              
                            
                          
                        
                        
                          
                            .$file)) {
                        
                        
                          
                            
                              
                                
                                  
                                    echo
                                
                              
                            
                          
                        
                        
                          
                            
                          
                        
                        
                          
                            
                              
                                
                                  
                                    "filename: $basedir/$file "
                                
                              
                            
                          
                        
                        
                          
                            .checkBOM(
                        
                        
                          
                            
                              
                                
                                  
                                    "$basedir/$file"
                                
                              
                            
                          
                        
                        
                          
                            ).
                        
                        
                          
                            
                              
                                
                                  
                                    " <br>"
                                
                              
                            
                          
                        
                        
                          
                            ; }
                        
                        
                          
                            
                              
                                
                                  
                                    else
                                
                              
                            
                          
                        
                        
                          
                            { $dirname = $basedir.
                        
                        
                          
                            
                              
                                
                                  
                                    "/"
                                
                              
                            
                          
                        
                        
                          
                            .$file; checkdir($dirname); } } }
                        
                        
                          
                            
                              
                                
                                  
                                    //end while
                                
                              
                            
                          
                        
                        
                          
                            closedir($dh); }
                        
                        
                          
                            
                              
                                
                                  
                                    //end if($dh
                                
                              
                            
                          
                        
                        
                          
                            }
                        
                        
                          
                            
                              
                                
                                  
                                    //end function
                                
                              
                            
                          
                        
                        
                          
                            
                          
                        
                        
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            function
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            checkBOM
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            ($filename)
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                  
                                
                              
                            
                          
                        
                        
                          
                            {
                        
                        
                          
                            
                              
                                
                                  
                                    global
                                
                              
                            
                          
                        
                        
                          
                            $auto; $contents = file_get_contents($filename); $charset[
                        
                        
                          
                            
                              
                                
                                  
                                    1
                                
                              
                            
                          
                        
                        
                          
                            ] = substr($contents,
                        
                        
                          
                            
                              
                                
                                  
                                    0
                                
                              
                            
                          
                        
                        
                          
                            ,
                        
                        
                          
                            
                              
                                
                                  
                                    1
                                
                              
                            
                          
                        
                        
                          
                            ); $charset[
                        
                        
                          
                            
                              
                                
                                  
                                    2
                                
                              
                            
                          
                        
                        
                          
                            ] = substr($contents,
                        
                        
                          
                            
                              
                                
                                  
                                    1
                                
                              
                            
                          
                        
                        
                          
                            ,
                        
                        
                          
                            
                              
                                
                                  
                                    1
                                
                              
                            
                          
                        
                        
                          
                            ); $charset[
                        
                        
                          
                            
                              
                                
                                  
                                    3
                                
                              
                            
                          
                        
                        
                          
                            ] = substr($contents,
                        
                        
                          
                            
                              
                                
                                  
                                    2
                                
                              
                            
                          
                        
                        
                          
                            ,
                        
                        
                          
                            
                              
                                
                                  
                                    1
                                
                              
                            
                          
                        
                        
                          
                            );
                        
                        
                          
                            
                              
                                
                                  
                                    if
                                
                              
                            
                          
                        
                        
                          
                            (ord($charset[
                        
                        
                          
                            
                              
                                
                                  
                                    1
                                
                              
                            
                          
                        
                        
                          
                            ]) ==
                        
                        
                          
                            
                              
                                
                                  
                                    239
                                
                              
                            
                          
                        
                        
                          
                            && ord($charset[
                        
                        
                          
                            
                              
                                
                                  
                                    2
                                
                              
                            
                          
                        
                        
                          
                            ]) ==
                        
                        
                          
                            
                              
                                
                                  
                                    187
                                
                              
                            
                          
                        
                        
                          
                            && ord($charset[
                        
                        
                          
                            
                              
                                
                                  
                                    3
                                
                              
                            
                          
                        
                        
                          
                            ]) ==
                        
                        
                          
                            
                              
                                
                                  
                                    191
                                
                              
                            
                          
                        
                        
                          
                            ) {
                        
                        
                          
                            
                              
                                
                                  
                                    if
                                
                              
                            
                          
                        
                        
                          
                            ($auto ==
                        
                        
                          
                            
                              
                                
                                  
                                    1
                                
                              
                            
                          
                        
                        
                          
                            ) { $rest = substr($contents,
                        
                        
                          
                            
                              
                                
                                  
                                    3
                                
                              
                            
                          
                        
                        
                          
                            ); rewrite($filename, $rest);
                        
                        
                          
                            
                              
                                
                                  
                                    return
                                
                              
                            
                          
                        
                        
                          
                            
                          
                        
                        
                          
                            
                              
                                
                                  
                                    "<font color=red>发现BOM, 自动清除.</font>"
                                
                              
                            
                          
                        
                        
                          
                            ; }
                        
                        
                          
                            
                              
                                
                                  
                                    else
                                
                              
                            
                          
                        
                        
                          
                            {
                        
                        
                          
                            
                              
                                
                                  
                                    return
                                
                              
                            
                          
                        
                        
                          
                            (
                        
                        
                          
                            
                              
                                
                                  
                                    "<font color=red>发现BOM.</font>"
                                
                              
                            
                          
                        
                        
                          
                            ); } }
                        
                        
                          
                            
                              
                                
                                  
                                    else
                                
                              
                            
                          
                        
                        
                          
                            
                          
                        
                        
                          
                            
                              
                                
                                  
                                    return
                                
                              
                            
                          
                        
                        
                          
                            (
                        
                        
                          
                            
                              
                                
                                  
                                    "没有发现BOM."
                                
                              
                            
                          
                        
                        
                          
                            ); }
                        
                        
                          
                            
                              
                                
                                  
                                    //end function
                                
                              
                            
                          
                        
                        
                          
                            
                          
                        
                        
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            function
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            rewrite
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            ($filename, $data)
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                          
                            
                              
                                
                                  
                                    
                                  
                                
                              
                            
                          
                        
                        
                          
                            { $filenum = fopen($filename,
                        
                        
                          
                            
                              
                                
                                  
                                    "w"
                                
                              
                            
                          
                        
                        
                          
                            ); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); }
                        
                        
                          
                            
                              
                                
                                  
                                    ?>
                                
                              
                            
                          
                        
                      
                    
                  

 

完成以上操作,验证码即可正常显示!