0

我这里有这行 PHP 代码

<?php
file_put_contents('query.txt', parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY));
?>

每当

phpfile.php?blablabla

被查询它会写入一个带有参数的 query.txt,在本例中为 blablabla。

但是,当我这样做时,它会删除过去的 query.txt 文件并写入一个全新的文件。

我希望将查询添加到 .txt 文件中。因此,可以有尽可能多的查询,并且输入的每个值都将在 .txt 文件中排列。

例如

我想要它所以 phpfile.php?test 被访问,query.txt 看起来像这样

test

之后,访问 phpfile.php?test2

现在 query.txt 看起来像这样

test
test2

这将永远持续下去。

我该怎么做呢?

ps:对不起,我完全是Java类型的。我是 PHP 的绝对初学者。

4

2 回答 2

3

您希望附加到文件中,因此您应该使用以下内容

$handle =  fopen("myfile.txt", "a");
fwrite ($handle, parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY));
fclose($handle);

您可以在文档中找到所有其他读/写文件打开标志。 http://php.net/manual/en/function.fopen.php

看来您也可以使用现有代码传递一个标志,因为这将从您那里抽象出文件句柄打开/关闭;

file_put_contents('query.txt', parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY), FILE_APPEND);
于 2013-07-27T18:06:48.733 回答
3

FILE_APPEND作为第三个参数添加到file_put_contents(). 示例(.PHP_EOL添加新行):

$data = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY).PHP_EOL;
file_put_contents('query.txt', $data, FILE_APPEND);
于 2013-07-27T18:09:52.870 回答