Php 持久日期戳-写入/读取文件

Php 持久日期戳-写入/读取文件,php,Php,我试图通过将其写入文本文件,然后在每次查看页面时将其读回,来设置一个持久的日期戳 // set the date, w/in if statements, but left out for brevity $cldate = date("m/d/Y"); $data = ('clickdate' => '$cldate'); // trying to set a variable/value pair - It's throwing an Error on this ! // Open

我试图通过将其写入文本文件,然后在每次查看页面时将其读回,来设置一个持久的日期戳

// set the date, w/in if statements, but left out for brevity
$cldate = date("m/d/Y");
$data = ('clickdate' => '$cldate');  // trying to set a variable/value pair
 - It's throwing an Error on this !
// Open an existing text file that only has the word "locked" in it.
$fd = fopen("path_to_file/linktrackerlock.txt", 'a') or die("Can't open lock file");
// Write (append) the pair to the text file
fwrite($fd, $data); 
// further down …
// Open the text file again to read from it
$rawdata = fopen("path_to_file/linktrackerlock.txt", 'r');
// Read everything in from the file
$cldata = fread($rawdata, filesize("path_to_file/linktrackerlock.txt"));
fclose($rawdata);
// Echo out just the value of the data pair
echo "<div id='Since'>Clicks Since: " . $cldata['clickdate'] . "</div>";
//在if语句中设置日期,但为简洁起见,将其省略
$cldate=日期(“m/d/Y”);
$data=('clickdate'=>'$cldate');//尝试设置变量/值对
-这是个错误!
//打开一个只有“锁定”一词的现有文本文件。
$fd=fopen(“指向文件/linktrackerlock.txt的路径,'a')或die(“无法打开锁定文件”);
//将该对写入(追加)文本文件
fwrite($fd,$data);
//再往下…
//再次打开文本文件以从中读取
$rawdata=fopen(“指向文件/linktrackerlock.txt的路径,'r');
//从文件中读取所有内容
$cldata=fread($rawdata,filesize(“path_to_file/linktrackerlock.txt”);
fclose(原始数据);
//只回显数据对的值
echo“点击自:”$cldata['clickdate']。"";
需要:

$data = array('clickdate' => $cldate);
此外,还需要将字符串传递给
fwrite
语句,因此无需创建数组:

$cldate = date("m/d/Y");
if($fd = fopen("path_to_file/linktrackerlock.txt", 'a')){
    fwrite($fd, $cldate); 
    fclose($fd);
}else{
    die("Can't open lock file");
}
需要:

$data = array('clickdate' => $cldate);
此外,还需要将字符串传递给
fwrite
语句,因此无需创建数组:

$cldate = date("m/d/Y");
if($fd = fopen("path_to_file/linktrackerlock.txt", 'a')){
    fwrite($fd, $cldate); 
    fclose($fd);
}else{
    die("Can't open lock file");
}

代码从根本上被破坏了。您试图创建一个数组,然后将该数组写入一个文件:

$data = array('clickdate' => '$cldate');
        ^^^^^---missing
那你有

fwrite($fd, $data); 
但是所要做的就是将单词
Array
写入您的文件,而不是数组的内容。你可以自己试试。。。只需执行
echo$data
,然后查看您得到了什么

您可以通过以下方式使整个过程变得简单:

$now = date("m/d/Y");
file_put_contents('yourfile.txt', $now);

$read_back = file_get_contents('yourfile.txt');
如果您坚持使用数组,则必须序列化或使用另一种编码格式,如JSON:

$now = date("m/d/Y");
$arr = array('clickdate' => $now);
$encoded = serialize($arr);

file_put_contents('yourfile.txt', $encoded);

$readback = file_get_contents('yourfile.txt');
$new_arr = unserialize($readback_encoded);
$new_now = $new_arr['clickdate'];

代码从根本上被破坏了。您试图创建一个数组,然后将该数组写入一个文件:

$data = array('clickdate' => '$cldate');
        ^^^^^---missing
那你有

fwrite($fd, $data); 
但是所要做的就是将单词
Array
写入您的文件,而不是数组的内容。你可以自己试试。。。只需执行
echo$data
,然后查看您得到了什么

您可以通过以下方式使整个过程变得简单:

$now = date("m/d/Y");
file_put_contents('yourfile.txt', $now);

$read_back = file_get_contents('yourfile.txt');
如果您坚持使用数组,则必须序列化或使用另一种编码格式,如JSON:

$now = date("m/d/Y");
$arr = array('clickdate' => $now);
$encoded = serialize($arr);

file_put_contents('yourfile.txt', $encoded);

$readback = file_get_contents('yourfile.txt');
$new_arr = unserialize($readback_encoded);
$new_now = $new_arr['clickdate'];

你到底在问什么?你测试过了吗?它起作用了吗?你是在寻找关于习语或通病的建议吗?好的,我知道了。使用file\u put\u contents和if语句检查各种条件。使用了Marc的初始指南-最终简化了它;)你到底在问什么?你测试过了吗?它起作用了吗?你是在寻找关于习语或通病的建议吗?好的,我知道了。使用file\u put\u contents和if语句检查各种条件。使用了Marc的初始指南-最终简化了它;)嗨,马克,是的-它只是将单词数组附加到已经锁定的单词中。文件内容是否附加了内容?我在这段代码之前使用它来锁定:文件内容(“路径到文件/linktrackerlock.txt”,“锁定”);我需要更改什么才能读/写我需要的不同内容?例如,文本“locked”&日期有比文件更好的机制来锁定内容。自己动手并不是一个特别好的主意。不可靠/活泼。使用本机机制,比如flock()来实现这类功能。嗨,Marc,是的,它只是将单词数组附加到已经锁定的单词数组中。文件内容是否附加了内容?我在这段代码之前使用它来锁定:文件内容(“路径到文件/linktrackerlock.txt”,“锁定”);我需要更改什么才能读/写我需要的不同内容?例如,文本“locked”&日期有比文件更好的机制来锁定内容。自己动手并不是一个特别好的主意。不可靠/活泼。使用本地机制,比如flock()来做这类事情。嗨,塞缪尔,看上面的问题嗨,塞缪尔,看上面的问题