<?php
$fp=file('test.php');
echo '<pre>';
foreach($fp as $k=>$v){
echo '['.$k.']'.htmlspecialchars($v);
}
?>
php代码直接被服务器解析了。

解决方案 »

  1.   

    对啊!那键值[1]为什么会丢失啊?还有,如果<?这个能被解释掉,那么为什么?>这个不能被解释掉呀?请高手们测试一下。关于此帖我再加50分求解
      

  2.   

    还有就是,先前我也想过可能被解释掉了,我就在<?这个前面加上转义符变成这样\<?可是依然不好使呀!所以楼上的说的好像不对呀!
      

  3.   

    没有什么不对的地方。
    在浏览器中查看源文件得
    Array
    (
        [0] => <?    [1] =>   echo "hello word!";    [2] =>   echo "Good morning China!"    [3] => ?>
    )
    没有任何错误
    出现你说的现象是因为浏览器把<?当作html标签处理了
    你若
    <xmp>
    <?
        $fp=file("123123.dat");
        print_r($fp);
    ?>
    就可以在浏览器界面上看到
    Array
    (
        [0] => <?    [1] =>   echo "hello word!";    [2] =>   echo "Good morning China!"    [3] => ?>
    )这样的显示了
      

  4.   

    浏览器把<?当作html标签处理掉了。以后再碰到这种问题,建议搂主在PHP解析完后,看一下生成文件的源代码,毕竟PHP就是为了要生成这个源代码而存在的。