Intereting Posts

Редактирование файла PHP, с другим файлом php, с использованием Fwrite

Мой последний вопрос не был объяснен очень хорошо.

То, что я пытаюсь сделать здесь, – это вставить данные в файл PHP, используя функцию fwrite в другом .php-файле.

Чтобы это было просто, я помечен тем, что мне нужны данные, вставленные как file.php, и тот, который я использую для запуска fwrite, – это edit.php

Теперь у меня проблема с записью, в чем моя проблема, мне нужно ВСТАВИТЬ эти данные, перед закрывающим тегом php на file.php.

Я пытался сделать это, удалив закрывающий тег php, записывая данные, а затем переписывая тег.

Вот мой исходный код:

<?php $rows = file("file.php"); $tagremove = "?>"; foreach($rows as $key => $row) { if(preg_match("/($tagremove)/", $row)) { unset($rows[$key]); } } file_put_contents("file.php", implode("", $rows)); $User = $_GET["user"]; $File = "file.php"; $Handle = fopen($File, "a"); fwrite($Handle, ""); fwrite($Handle, $User); fwrite($Handle, "\r\n"); fwrite($Handle, "?>"); print "Data Written"; fclose($Handle); ?> 

Когда я запускаю это на Edit.php, он вставляет эти данные в файл, но только записывает его в первую строку и заменяет все, что уже есть. (В моем случае это открывающий тег php). Я не знаю, что я делаю неправильно, или если есть другой способ сделать это, но любая помощь будет оценена по достоинству.

Изменить: это снова для чат-клиента.

У меня есть файл, который отправляет сообщение в файл .txt, который затем читает клиент.

И этот файл читает файл file.php (staff.php), чтобы проверить, является ли пользователь подчиненным сотрудником.

Если верно, что пользователь является сотрудником, то он изменяет переменную имени пользователя в send.php.

И до сих пор send.php только успешно, включая Staff.php, я пробовал staff.txt, и причина в том, что php-код находится в staff.php.

Попробуй это:

 $data="echo 'hello world!';"; $filecontent=file_get_contents('file.php'); // position of "?>" $pos=strpos($filecontent, '?>'); $filecontent=substr($filecontent, 0, $pos)."\r\n".$data."\r\n".substr($filecontent, $pos); file_put_contents("file.php", $filecontent); 

Не забывайте, что вам нужно проверить данные у пользователя.

Хорошо, что лучше использовать файл данных. Я использую json, потому что его простой в использовании очень легко разбирать человеческие глаза:

 // read file $data = file_get_contents('data.json'); $json = json_decode($data, true); // manipulate data $json['users'][] = $_GET['user']; // write out file $dataNew = json_encode($json); file_put_contents('data.json', $dataNew); 

причина в том, что PHP-код находится в staff.php

Ну, это не то, что вы обманываете. Вы должны писать / читать этот вид информации из хранилища данных – это может быть файл или база данных … но не настоящий скрипт.