比如:有个文件叫:a.php。还有个b.php。
a.php的内容为:
<?php
$x = 'abcdefg';//一个字符串
$handle = fopen('b.php','a');//打开文件
fwrite($handle,$x);//写入字符串到文件尾
?>b.php的内容是:
<?php
echo '你好';
?>我如果能将字符串$x的内容追加写入到b.php的末尾,且在?>之前呢?

解决方案 »

  1.   

    这个比较麻烦··但是
    你可以先读出来这个文件内容 然后删除?> 这个应该很简单吧
    然后将$x; ?> 同时写到文件末尾间接实现!~~
      

  2.   

    $h = fopen('text.txt', 'r+');
    fseek($h, -3, SEEK_END);//定位指针
    fwrite($h, PHP_EOL . date("Y-m-d H:i:s") . PHP_EOL . '?>');
    fclose($h);不过这么操作不保险。最好判断一下内容如果可以,文件结尾追加<?php …内容… ?>代替呢?
      

  3.   

    你可以先写,然后再去读取,放在b.php里,这样应该能实现你想要的结果吧
      

  4.   

    其实可以这样:
    b.php
    <?php
    include "c.php";
    echo '你好';
    ?>
    而a.php,则负责生成c.php
    每次都是清除c.php的原数据,直接写入。就不需要考虑b.php的修改问题了。
      

  5.   

    对了,include前,判断一下c.php是否存在。
      

  6.   

    a.php
    <?php
    //...
    file_put_contents("c.php",$str);
    ?>b.php
    <?php
    //...
    if(file_exists("c.php")) include "c.php";
    ?>
      

  7.   

    楼上的意思没看懂。不需要c文件。只有a和b两个文件。比如:在安装程序时,就需要将用户填的数据库连接信息写到一个配置文件中,即追加到配置文件的末尾。但原来的配置文件里已有内容了,怎么能追加到末尾呢?且要求在?>之内呢?
      

  8.   

    读出a.php的内容,然后读出b.php的内容,直接放在一起,可以不?
      

  9.   

    怎么放呢?如何保证最后合成的结果里只有一个<?php ?>呢?
      

  10.   

    如果要这样,那就全部重新生成b.php
    反正配置的格式你是知道的。
    $str="<?"."php\r\n";
    $str.="   $"."username=\"".$username."\");\r\n";
    $str.="   $"."password=\"".$password."\");\r\n";
    $str.="?".">";
    file_put_contents("b.php",$str);
      

  11.   

    <?php
    $x = 'abcdefg';//一个字符串
    $handle = fopen('b.php','r+');//打开文件
    $con=fread($handle,filesize('b.php'));
    $offset=strrpos($con,'?>');
    fseek($handle,$offset);
    fwrite($handle,$x."\r\n?>");
    fclose($handle);
    ?>
      

  12.   

    我有几个疑问:
    1:你干嘛非要放到一个php标签里?
    PHP中两个<?php?>段,其实是连在一起的!
    <?php  ...?>
    <?php echo "Hello!"?>
    2:你这样写进去是想接下来去执行b.php吗?
    如果要想插入的东西在页面上有效果,就要在b.php在服务器端编译之前插入!(应该是这样吧)