我有一个PHP文件,我想在指定的行后面插入一些数据。不知道有没有高手知道怎么做。

解决方案 »

  1.   

    文件不大可以用file()读出数组进行操作。如果每行是等长可以用fseek定位。
      

  2.   

    Gooooooooooooooooooooooooooooooooooooooooooooooooooood
      

  3.   

    <?php
    function insertContent($source, $s, $lineAfter) {
    $file_handle = fopen($source, "r");
    $i = 0;
    $arr = array();
    while (!feof($file_handle)) {

       $line = fgets($file_handle);
       ++$i;
       if ($i == $lineAfter) {

    $arr[] = substr($line, 0, strlen($line)-1) . $s . "\n";
       }else {

        $arr[] = $line;
       }
    }
    fclose($file_handle);
    return $arr;
    }
    $arrInsert = insertContent("array.php", "abcdef", 3);
    unlink("array.php");
    foreach($arrInsert as $value)
    file_put_contents("array.php", $value, FILE_APPEND);
    ?>
      

  4.   


    <?php
    function insertContent($source, $s, $iLine, $index) {
    $file_handle = fopen($source, "r");
    $i = 0;
    $arr = array();
    while (!feof($file_handle)) {

       $line = fgets($file_handle);
       ++$i;
       if ($i == $iLine) {
    if($index == strlen($line)-1)
    $arr[] = substr($line, 0, strlen($line)-1) . $s . "\n";
    else 
    $arr[] = substr($line, 0, $index) . $s . substr($line, $index);
       }else {

        $arr[] = $line;
       }
    }
    fclose($file_handle);
    return $arr;
    }
    $arrInsert = insertContent("array.php", "abcdef", 3, 10);
    unlink("array.php");
    foreach($arrInsert as $value)
    file_put_contents("array.php", $value, FILE_APPEND);
    ?>
    $iLine:为第几行,$index为第几个字符之前