PHP将内容附加到文件(读取/写入文件)

时间:2015-04-26 06:32:01

标签: php get

我仍然是PHP的新手,我正在尝试做一些像这样的事情;

down.php?days=numberHere取这个数字并将其写入文件,然后在一个地方显示该文件,我知道如何显示该文件,但我不确定如何使用GET写入该文件可以指出我的方向来学习或帮助我,这将是伟大的,我已经环顾了几天,没有看到任何有用的东西

由于

编辑:

我重新阅读了我的问题和一些答案,我不知道我是否真的清楚自己要完成的事情;基本上,如果Cooldowns.txt有“10”而?天= 7,则cooldowns.txt需要变为17而不是将数字添加到文件中

更新:基于对我的问题的回复,我想出了类似的东西,我想知道是否有办法让它添加get? (IE get = 1 +无论文件已有,所以如果文件有25且get = 1文件变为26)

3 个答案:

答案 0 :(得分:2)

<?php
// Try this code
if(isset($_GET['days'])){
    $number=(int)$_GET['days']."\n";
    $file='file.txt';
/* 
/The existing data in file is preserved.
/File pointer starts at the end of the /file.
/Creates a new file if the file doesn't exist
*/
    $fopen=fopen($file,'a+');
    $fwrite=fwrite($fopen, $number);
    echo readfile($file);
}
?>

答案 1 :(得分:1)

引自:

  

基于对我的回复,我想出了类似的东西   问题,我想知道是否有办法让它添加get? (IE   get = 1 +无论文件已有,所以如果文件有25并且得到   = 1个文件变为26)

// Retrieve data from file.txt and type cast it as an integer
$current = (int) file_get_contents('file.txt');
// Increment $current, equivalent to $current=$current+1;
$current++;
// Write back
file_put_contents('file.txt', $current);

答案 2 :(得分:0)

使用file_put_contents(),了解here

file_put_contents("file.txt", "My Content");

(已编辑)如果要附加到文件的当前内容,请使用FILE_APPEND常量并将其作为函数的第三个参数传递:

file_put_contents("file.txt", "\r\n" . "My Content", FILE_APPEND);

模式 说明

  

'r'仅供阅读;将文件指针放在开头   文件。

     

'r +'开放阅读和写作;将文件指针放在   文件的开头。

     

'w'仅供写作;将文件指针放在开头   该文件并将文件截断为零长度。如果文件没有   存在,试图创造它。

     

'w +'开放阅读和写作;将文件指针放在   文件的开头并将文件截断为零长度。如果   文件不存在,尝试创建它。

     

'a'仅供写作;将文件指针放在。的末尾   文件。如果该文件不存在,请尝试创建它。

     

'a +'开放阅读和写作;将文件指针放在最后   的文件。如果该文件不存在,请尝试创建它。

     

'x'创建并打开仅供写入;将文件指针放在   文件的开头。如果文件已存在,则调用fopen()   将返回FALSE并生成级别错误   E_WARNING。如果该文件不存在,请尝试创建它。这是   相当于为底层指定O_EXCL | O_CREAT标志   open(2)系统调用。

     

'x +'创建并打开阅读和写作;否则就有了   与'x'相同的行为。

     

'c'打开文件只写。如果该文件不存在,则为   创建。如果它存在,它既不被截断(而不是'w'),   也不会调用此函数失败(与'x'的情况一样)。该   文件指针位于文件的开头。这可能是   如果希望获得咨询锁(请参阅flock())之前有用   尝试修改文件,因为使用'w'可能会截断文件   在获得锁之前(如果需要截断,则为ftruncate()   可以在请求锁定后使用。)

     

'c +'打开文件进行读写;否则它也一样   行为为'c'。

但PHP也允许较低级别的文件I / O,通过使用fopen()函数,它返回一个文件描述符,允许各种模式的I / O:

$fd = fopen("file.txt");

了解它here

然后将文件描述符传递给其他f *族函数:

fwrite($fd, "Content");

fopen()函数的$ mode参数可帮助您选择如何读/写:

根据上面从php.net上的fopen()文档(给出的链接)获取的表格,您可以使用模式a

fopen("file.txt", "a");