解决方案 »

  1.   

    $fn = 'filename';
    $fp = fopen($fn, 'r+');
    $size = filesize($fn);
    $offs = 0;
    $n = 0;
    while($buf = fgets($fp)) {
      $n++;
      if($n == N) break;
      $offs = ftell($fp);
    }
    $thru = fread(fp, $size);
    $buf = '..' . substr($buf, 6);
    fseek($fp, $offs);
    fwrite($fp, "$buf\n$tfrh");
    ftruncate($fp);
    fclose($fp);
      

  2.   

    test.txt11111111
    2222222
    33333333
    44444444
    55555555
    66666666
    77777http://p7.game.com/pic.png777
    888888888
    99999999999$line = 7;
    $search = 'http://p7.game.com/pic.png';
    $replace = '../images/pic.png';$content = file_get_contents('test.txt');
    $data = explode(chr(10), $content);if(isset($data[$line-1])){
        $data[$line-1] = str_replace($search, $replace, $data[$line-1]);
        file_put_contents('test.txt', implode(chr(10), $data));
    }
      

  3.   

    大神,这句是什么意思,N表示什么?“$n == N”
      

  4.   

    這樣可以替換多個了。
    $p = array(
    array('line'=>7,'search'=>'http://p7.game.com/pic.png','replace'=>'../images/pic.png'),
    array('line'=>8,'search'=>'8','replace'=>'abc'),
    );
     
    $content = file_get_contents('test.txt');
    $data = explode(chr(10), $content);foreach($p as $v){
    $key = $v['line']-1;
    if(isset($data[$key])){
    $data[$key] = str_replace($v['search'], $v['replace'], $data[$key]);
    }
    }file_put_contents('test.txt', implode(chr(10), $data));