Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
1

Добавление строки в файл

24.05.2017, 10:05. Показов 1764. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
всем привет.
мне нужно регистрировать выполнение скрипта, вести так называемый лог.
я создал файл log.txt.
в файле скрипта пишу следующее:
PHP
1
2
3
4
5
6
7
8
$dat = date("l dS of F Y h:i:s A");
    $file = 'log.txt';
    // Открываем файл для получения существующего содержимого
    $current = file_get_contents($file);
    // Добавляем нового человека в файл
    $current = "Выполнено - ".$dat;
    // Пишем содержимое обратно в файл
    file_put_contents($file, $current);
далее идет сам скрипт.
при выполнении в лог ничего не пишется. в чем ошибка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2017, 10:05
Ответы с готовыми решениями:

Добавление строки в файл
общем есть сайт- интернет магазин хочу сделать чтобы администратор мог добавлять товары на магазин...

Добавление строки в файл
Задача такая есть файл с кодом для станка. Надоело в блокноте искать строку и добавлять в ручную...

Добавление строки в XML файл
Кто подскажет как через Perl добавить в читаемый файл xml строку с css стилем и вывести новый xml....

Добавление строки в .ini файл
Имеется *.ini-файл с различной инфой. нужно его открыть и дописать в конец файла одну строку. Из...

7
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
24.05.2017, 10:33 2
dapkopoen, чтобы дописать строку в файл нет необходимости получать его содержимое. Используйте при записи константу FILE_APPEND.
PHP
1
2
3
4
5
6
$dat = date("l dS of F Y h:i:s A");
$file = 'log.txt';
// Добавляем нового человека в файл
$new_line = "Выполнено - $dat";
// Пишем новую строку в файл
file_put_contents($file, $new_line, FILE_APPEND | LOCK_EX);
Если записи не происходит, уточните права на файл.
0
5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
24.05.2017, 10:37  [ТС] 3
Пифагор, написал как вы предложили. права на файл вообще 777. не пишет! вот полный код:
PHP
1
2
3
4
5
6
$dat = date("l dS of F Y h:i:s A");
$file = 'log.txt';
$new_line = "Выполнено - $dat";
file_put_contents($file, $new_line, FILE_APPEND | LOCK_EX);
    
header("Location:sunrise.html");
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
24.05.2017, 10:42 4
Лучший ответ Сообщение было отмечено dapkopoen как решение

Решение

Только что проверил(чтоб уж до абсурда довести). Разумеется, работает. Проверьте путь. Хотя, тоже нет необходимости потому, что файл создается, если его не было. Ну, хз, уважаемый...
Включите вывод ошибок. Вероятно, они есть, а их не показывают.

PHP
1
2
//в начало файла
error_reporting(E_ALL);
1
5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
24.05.2017, 16:48  [ТС] 5
Пифагор, конечно же путь! мой косяк. спасибо большое, не первый раз помогаете!

Добавлено через 6 часов 3 минуты
Пифагор, а как сделать что бы новая строка писалась с новой строки. а то все в одну строку пихает!
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
24.05.2017, 16:51 6
Лучший ответ Сообщение было отмечено dapkopoen как решение

Решение

dapkopoen, я не поставил перенос. Каюсь
PHP
1
$new_line = "Выполнено - $dat\n";
1
5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
24.05.2017, 16:55  [ТС] 7
Пифагор, спасибо! подскажите дополнительно - проблема вот в чем.
PHP
1
2
3
4
5
6
7
8
$dat = date("l dS of F Y h:i:s A");
        $file = 'log.txt';
        $new_line = "выполнено - $dat\n";
        file_put_contents($file, $new_line, FILE_APPEND | LOCK_EX);
 
        mail ("dapkopoen@yandex.ru","Событие!","произошло!");
    
    header("Location:sinerise.php");
этот файл я поставил в задачу кронтаба на хостинге. на выполнение каждые две минуты.
суть вот в чем: при выполнении из под кронтаба срабатывает только отправка письма, а запись в файл и переадресация не работает! подскажите, почему так происходит?
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
24.05.2017, 17:03 8
dapkopoen, с кроном я, можно сказать, совсем не знаком, но предположу, что возможно по какой-то причине нет доступа к файлам на хостинге.

Добавлено через 55 секунд
Или именно к этому файлу.
0
24.05.2017, 17:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2017, 17:03
Помогаю со студенческими работами здесь

Добавление строки в текстовый файл
Всем привет !! Люди помогите, надо дописать строку в текстовый файл.. т.е к имееющему в файле...

Добавление строки с переменными в текстовый файл (>>)
::Объявление переменных set kmin_start=3 set kmin_end=5 set kmax_start=8 set kmax_end=10 ...

Неправильное добавление строки в файл в цикле
По какой-то причине, при записи строки в файл в режиме "а" необходимая (по условию) строка...

Добавление(вставка) строки в текстовый файл
Подскажите пожалуйста как вставить строку(строки) в произвольное место текстового файла. К ...

Добавление строки в файл в приложенном коде не срабатывает
Не добавляется строка, почему? FileStream PotokForWrite = new FileStream("F:\\qwe.txt",...

Добавление в текстовый файл новой строки с текстом из Memo
Как добавить к одному текстовому файлу новую строку с текстом, введённым в Memo1, по нажатии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru