各位,我再使用file_get_contents()函数时,出现读取文件内容不全,是什么原因呢?
代码如下:
test.php文件:<?php
header("Content-type: text/html; charset=utf-8");
$configFile="./config.inc.php";//$configFile1="test.php";
//echo $handle."<br/>";
//echo "-------------------------------------------------------";
$configText=file_get_contents($configFile);//$handle=fopen($configFile1,'r');
//$str=fread($handle,filesize($configFile1));
echo $configText;
exit();?>读取文件的文件为:
config.inc.php代码如下:<?php
    
    /*==================================================================*/
/* 文件名:config.inc.php                               */
/* 概要: 整个CMS系统的配置文件,一些参数的设置.         */
/* 作者: 高洛峰                                        */
/* 创建时间: 2010-05-15                                */
/* 最后修改时间:2010-05-15                             */
/* copyright (c)2009 [email protected]             */
/*==================================================================*/ //数据库部分参数设置
@define("DB_HOST", "localhost");            //数据库主机名
@define("DB_USER", "root");                  //数据库用户名
@define("DB_PWD", "123456");                 //数据库密码
@define("DB_NAME", "cms_self1");           //数据库名称
@define("TAB_PREFIX", "cms_");
//前缀
//应用程序相关设置
@define("APP_NAME", "LAMP Linux MySQL");                             //应用程序名称
@define("KEYWORD", "细说PHP,PHP视频,CMS");                          //网站的关键字
@define("DESCRIPTION", "这是用PHP构件的,基于MVC面向对象设置的CMS系统"); //网站的描述 //框架路径设置
@define("CMS_ROOT", "E:/xampp/htdocs/mycode/cms/");                   //系统根目录
@define("APP_CLASS_PATH", CMS_ROOT."lib/"); //系统核心CLASS路径
@define("CMS_UPLOAD_PATH", CMS_ROOT."public/uploads/");         //系统上传文件路径
//和Smarty模板相关的设置
@define("TEMPLATE_PATH", CMS_ROOT."tpl/");         //系统模板路径
@define("TEMPLATE_COMPILE_PATH", CMS_ROOT."template_c/"); //系统模板编译后的路径
@define("TEMPLATE_CACHE_START", 0);                      //缓存是否开启
@define("TEMPLATE_CACHE_LIFETIME", 60*60*24);                 //系统模板被缓存的时间
@define("TEMPLATE_CACHE_PATH", CMS_ROOT."cache/");         //系统模板缓存文件存放的路径
@define("APP_PATH", "/mycode/cms/");     //安装路径
@define("GALLERY_PATH", APP_PATH."public/uploads/");             //图片相册物理路径
@define("GALLERY_REAL_PATH", CMS_ROOT."public/uploads/");               //图片相册存放目录
  @define("STYLE_PATH", APP_PATH."style/");                  //系统风格路径
@define("APP_STYLE", "default");                                 //系统当前风格
@define("ARTICLE_PAGE_SIZE", 15);                                //后台文章每页显示的数目
@define("PICTURE_PAGE_SIZE", 3);                                //后台图片每页显示的数目
@define("PICTURE_SHOW_TYPE", "list");                            //后台图片显示的方式 list 列表 thumb缩略图
@define("WATER", "water.png");                                   //水印图片名称
@define("POSITION", 0);

    $styleList = array ("default" => "默认风格", "cial"=> "时代经典");   //系统风格数组
    $pictureSize = array("maxWidth" => 300, "maxHeight" => 300);  //定义生成后的大小
$thumbSize = array("width" => 100, "height" => 100);    //定义缩略图的大小?>
执行test.php文件的结果如下:
这是为什么呢????

解决方案 »

  1.   

    从 <?php 开始,到 "default" => 结束,被浏览器解释为 html 标签了,所以浏览器窗口中不显示
    查看网页源代码就可以发现分毫不差
      

  2.   

    这样就可以在浏览器上看到了<?php
    header("Content-type: text/html; charset=utf-8");
    $configFile="./a.inc.php";//$configFile1="test.php";
    //echo $handle."<br/>";
    //echo "-------------------------------------------------------";
    $configText=file_get_contents($configFile);
    $configText = htmlspecialchars($configText);
    //$handle=fopen($configFile1,'r');
    //$str=fread($handle,filesize($configFile1));
    echo $configText;
    exit();?>
      

  3.   

    不过不是很明白 为什么会从 <?php 开始,到 "default" => 结束,被浏览器解释为 html 标签了