Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: В файле удаляется последняя строка вместо первой - как исправить?
 
 автор: winflip   (04.01.2008 в 21:10)   письмо автору
 
 

Вот написал класс. Часть:

class workwithfile
{
    var $filename;
    var $discript;
    var $mode;
    var $arline;
    var $lines;
    var $i;
    var $stringinfile;
    var $text;
    function connect(){
        $this->discript = fopen($this->filename, $this->mode);
    }
    function clearfirstline(){
        $this->arline = file($this->filename);
        $this->lines = count($this->arline);
        $this->lines--;
        $this->stringinfile = "";
        for($this->i=0; $this->i < $this->lines; ++$this->i)
        {
            $this->stringinfile .= $this->arline[$this->i];
        }
    }
    function onclearline(){
        fwrite($this->discript, $this->stringinfile);
    }

}
Вот файл proba.php:
<?php

include "class_workwithfile.php";
$obj = new workwithfile();
$obj->filename = "chat.txt";
$obj->mode = "w+";
$obj->clearfirstline();
$obj->connect();
$obj->onclearline();
?>
Я задумывал, чтобы в файле первая строчка удалялась, а удаляется последняя. Что сделать????

   
 
 автор: Unkind   (04.01.2008 в 21:23)   письмо автору
 
   для: winflip   (04.01.2008 в 21:10)
 

Задумывали одно, а написали совершенно другое.

> $this->lines--;
> $this->stringinfile = "";
> for($this->i=0; $this->i < $this->lines; ++$this->i)

заменить на

> for($this->i=1; $this->i < $this->lines; ++$this->i)

А Вам что, действительно в дальнейшем понадобится $this->i, $this->lines, $this->mode и т.д. или это способ сделать код "крутым"?

   
 
 автор: winflip   (05.01.2008 в 11:55)   письмо автору
 
   для: Unkind   (04.01.2008 в 21:23)
 

>Задумывали одно, а написали совершенно другое.
>
>> $this->lines--;
>> $this->stringinfile = "";
>> for($this->i=0; $this->i < $this->lines; ++$this->i)
>
>заменить на
>
>> for($this->i=1; $this->i < $this->lines; ++$this->i)
>
>А Вам что, действительно в дальнейшем понадобится $this->i, $this->lines, $this->mode и т.д. или это способ сделать код "крутым"?
Они понадобятся :)

   
 
 автор: winflip   (05.01.2008 в 11:57)   письмо автору
 
   для: winflip   (05.01.2008 в 11:55)
 

Спасибо!!! Работает!!! Вчера голову сломал над этим!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования