ф-ции fopen fwrite

Discussion in 'PHP' started by Alien_z, 2 Feb 2007.

  1. Alien_z

    Alien_z New Member

    Joined:
    16 Jan 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Вопрос такой, можно ли записать в файл строку, но не в конец файла, а в начало и чтобы уже имеющиеся записи остались(т.е. соответственно сместились на одну строку ниже)???
    PHP:
    $str="текст";
     
    $file=fopen("history.dat",'r+');
     
    fwrite($file$str);
    так он(php) удаляет все что было....
     
  2. x0x01

    x0x01 Elder - Старейшина

    Joined:
    19 Oct 2006
    Messages:
    32
    Likes Received:
    6
    Reputations:
    1
    такой функции нет, но можно создать новый файл записать что надо,
    добавить из оригинала в конец и скопировать новый на место старого ж-)
     
  3. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    небольшая функция реализующая это

    PHP:
    <?php
    $result 
    append_to_top("myfile.txt",$data_to_write);

    function 
    append_to_top($data_file,$data) {

    $original_data file_get_contents($data_file);

    $fp fopen($data_file,"w+");
    fputs($fp,$data_to_write "\r\n");
    fputs($fp,$original_data);
    fclose($fp);
    return();
    ?>
     
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Мда......читай маны

    Посже выложу как надо
     
  5. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    Rtfm
     
  6. Alien_z

    Alien_z New Member

    Joined:
    16 Jan 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Сделал так как предложил x0x01, вроде работает....но хотелось бы услышать еще методы...
     
  7. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    blackybr предложил самый разумный
     
  8. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    а что разве
    Code:
    seek(FH,POS,WHENCE)
    нету в рнр?
    Если есть, то просто сразу после fopen ставь seek($fh,0,0)
     
  9. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    KSURi, имеется в виду запись не поверх данных в начале, а перед ними. seek'ом ты переместишься на начало и все.
     
  10. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    сори, невнимательно читал =/