Во-первых, я очень, очень, очень, очень плохо с PHP, так что извините за этот вопрос
У меня есть приложение, в котором я хотел бы войти в некоторые данные отладки
и через мой проект я делаю веб-запрос на мой сайт, хранящий информацию в
$ msg Затем я хочу записать данные в мой logfile.log на сайте.
я сначала использовал fopen fwrite fclose, но слышал, что file_put_contents будет лучше
тем более, что у меня, скорее всего, будет несколько пользователей, пытающихся записать в файл одновременно.
Вот код:
$msg = $_GET['w'];
$logfile= 'logfile.log';
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX);
Но, как вы можете догадаться, код ничего не делает для меня
у меня это работает с fopen fwrite fclose
но я хотел добавить каждого пользователя в новую строку.
Если бы мне помог какой-нибудь умный мозг, я был бы признателен за это.
С уважением.
РЕДАКТИРОВАТЬ:
@Jay
Вот как я пытался применить его (открывая php в первой строке)
РЕДАКТИРОВАТЬ: убрал «тег» из кода из-за ошибки копирования / вставки.
error_reporting(E_ALL); ini_set('display_errors', 1)
$msg = $_GET['w'];
$logfile= 'logfile.log';
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX);
Почему бы просто не использовать error_log()
? С message_type
установлен в 3
(второй параметр) в сообщение будет записан файл, указанный в третьем параметре:
$message = $_GET['w'];
$logfile = 'logfile.log';
// Debug: A line for verifying I have the message
echo "Writing message '$message' to logfile<br>";
error_log($message."\n", 3, $logfile);
// Debug: read back the log file to verify thatthe line has been written
readfile($logfile);
Обратите внимание newline
добавлено к сообщению как error_log()
не делает это для вас.
Также обратите внимание, что должны быть установлены разрешения, позволяющие веб-серверу выполнять запись в целевой файл. Это правда ли с помощью error_log()
или же file_put_contents()
PHP ссылка Вот
Других решений пока нет …