用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2000|回复: 2
收起左侧

[HELP] 输出的页面代码前总有空格怎么办?

[复制链接]
发表于 2015-7-12 21:36:12 | 显示全部楼层 |阅读模式
小弟在CI在做一个nusoap的测试,发现一个问题,
如果在CI框架中搭一个 soap的server,访问页面源代码,最前面总是有几个空格,删除所有代码,直接echo "x",照样有空格


想请教下这个空格怎么去掉呢?这个不去掉XML格式就不正确,谢谢大侠解答下~!

QQ截图20150712212106.png
代码都是最简单的

PHP复制代码
<?php  
class Api_sms extends CI_Controller
{
 
        public function __construct(){
                parent::__construct();
                require_once ("brandsh_erp/libraries/nusoaplib/nusoap.php");  
               
        }
       
        public function index(){
                $server = new soap_server ();  
               
                // 避免乱码  
                $server->soap_defencoding = 'UTF-8';  
                $server->decode_utf8 = false;  
                $server->xml_encoding = 'UTF-8';  
                $server->configureWSDL ('smssdk'); // 打开 wsdl 支持  
                /*
                $server->configureWSDL ('smssdk', //服务名称
                'http://www.somelocation.com', //tns指定的namespace,一般填写自己的URI;
                false, //endpoint url or false
                'rpc', //服务样式
                'http://schemas.xmlsoap.org/soap/http',
                'http://www.somelocation.com'
                );
                */

               
                /*
                注册需要被客户端访问的程序
                类型对应值: bool->"xsd:boolean"    string->"xsd:string"
                int->"xsd:int"     float->"xsd:float"
                */
 
                $server->register ( 'GetTestStr', // 方法名  
                array ("name" => "xsd:string" ), // 参数,默认为 "xsd:string"  
                array ("return" => "xsd:string" ) ); // 返回值,默认为 "xsd:string"  
                //isset  检测变量是否设置
                $HTTP_RAW_POST_DATA = isset ( $HTTP_RAW_POST_DATA ) ? $HTTP_RAW_POST_DATA : '';  
                //service  处理客户端输入的数据
                 
                $server->service ( $HTTP_RAW_POST_DATA );
        }
       
       
        /**
         * 供调用的方法
         * @param $name
         */
 
        public function GetTestStr($name) {  
                return "Hello,  { $name } !";  
        }
       
       
 
}
 
?>  
复制代码


 楼主| 发表于 2015-7-13 10:49:42 | 显示全部楼层
有人遇到过吗?
发表于 2015-7-13 15:48:44 | 显示全部楼层
本帖最后由 aneasystone 于 2015-7-13 15:49 编辑

首先,你可以检查下这个页面所有引用到的php文件是否有用到类似于 echo something() 这样的代码,确保这个空格不是你的代码里无意打印出来的;
然后再检查下所有引用到的php文件中的<?php这样的代码之前是否有空格,我曾经被这个错误坑过。
可以直接搜索字符串:' <?php' (注意<前面有个空格)
祝楼主好运!


本版积分规则