Как я могу использовать php, чтобы, когда пользователь нажимает определенную кнопку, он мог писать в определенный файл .txt? - PullRequest
0 голосов
/ 07 апреля 2011

В основном, как и в других вопросах, которые я задавал, связанных с моим приложением php chat, я пытаюсь получить его, чтобы было текстовое поле, где $ msg отображается через msg.txt.Два пользователя могут общаться с другим таким образом.Это было бы легко, если бы я хотел использовать простую функцию включения.Но я не хочу делать все возможное, чтобы создать и загрузить все эти страницы на мой сервер.Итак, как это сделать, когда пользователь, скажем, по имени Аарон, нажимает кнопку с именем Benjamin и вводит файл с именем aaronbenjamin.txt, и если Аарон хочет поговорить с другим пользователем, он может нажать на кнопку с именем Chris, и введите в файл с именем aaronchris.txt?И все из одного поля и текстового поля?Спасибо, я ценю это.

РЕДАКТИРОВАТЬ: Это мой код -

http://key -mail.zxq.net / msg.txt

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

Вот как записать в файл: http://php.net/manual/en/function.fopen.php

Вам лучше использовать базу данных, но наверняка.

Чтобы разные ссылки делали разные вещи, вы можете использовать AJAX, как вы предлагали, или вы можете использовать переменные GET для маршрутизации функций на стороне PHP. Последнее проще, но означает, что вам нужно будет перезагрузить страницу после того, как пользователь нажмет кнопку.

вот небольшая демонстрация:

<a href="thispage.php?clicked=1">click here</a>

тогда вверху страницы в php:

 if($_GET['clicked']==1){--write to file1---}
 else if($_GET['clicked']==2){--write to file2---}

Надеюсь, это поможет

1 голос
/ 07 апреля 2011

Хорошо, вы должны узнать о , используя формы с PHP , относительно вашего комментария.Если вы полностью прочтете это руководство, оно должно ответить на все ваши вопросы о формах и php.

Что касается его записи в другой текстовый файл, поскольку вы, похоже, беспокоитесь о «загрузке всех этих страниц»,вы будете рады узнать, что есть простое решение!

Есть функция с именем file_put_contents, которая будет создавать или записывать в файл.

Так как вы 'новый (ish) для PHP, вот пример:

<?php

$file = 'hello.txt';
$text = 'Hello World!';

file_put_contents($file, $text);

?>

Это помещает содержимое переменной $text в файл с именем, хранящимся в $file.

Чтениеиз файла аналогично легко, с file_get_contents.

Предполагая, что файл hello.txt существует ранее и имеет такое же содержимое, вы можете использовать следующий код для чтения из файлаи выведите его содержимое:

<?php

$file = 'hello.txt';

echo(file_get_contents($file));

?>

Это покажет содержимое $ file.

Теперь перейдем к специфике вашего вопроса, если ваша форма устанавливает "to" и a "от "GET variable где" to "уже есть ваше имя пользователя, тогда следующийКод запишет значение в переменной GET «message» в файл на основе заданного вами шаблона:

<?php

$to = addslashes($_GET['to']);
$from = addslashes($_GET['from']);
$msg = addslashes($_GET['message']);
//addslashes is used as a small security measure

$file = $to . $from . '.txt';
file_put_contents($file, $msg);

?>

Эта команда извлекает наши переменные из массива GET, в некоторой степени их дезинфицирует, задает имя файлаи записывает сообщение в файл.

Если у вас есть какие-либо вопросы по конкретным частям этого документа или вы хотите, чтобы я более подробно рассказал, пожалуйста, не стесняйтесь спрашивать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...