fishgo1 发表于 2015-7-12 21:36:12

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

小弟在CI在做一个nusoap的测试,发现一个问题,
如果在CI框架中搭一个 soap的server,访问页面源代码,最前面总是有几个空格,删除所有代码,直接echo "x",照样有空格


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


代码都是最简单的

<?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 } !";
        }
       
       

}

?>

fishgo1 发表于 2015-7-13 10:49:42

有人遇到过吗?

aneasystone 发表于 2015-7-13 15:48:44

本帖最后由 aneasystone 于 2015-7-13 15:49 编辑

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


页: [1]
查看完整版本: 输出的页面代码前总有空格怎么办?