1

我创建了一个日历,其数据存储在一个文本文件中。目前,我只能同时编辑一行/天,但我想编辑很多天(例如从 9 月 15 日到 9 月 19 日的相同内容)。这个怎么做 ?

我的数据文本文件看起来像这样($id 从 1 到 31),$exp 是我编辑的内容。

        $id|$exp|$color|$color2

允许编辑的 php 文件如下所示:

        $month_file = $file . ".txt"; 
        $month_db = file("$month_file");
        $call = fopen("$month_file","w");

        foreach($month_db as $month_line) {
            $month_line_arr = explode("|",$month_line);
            $month_line_id = $month_line_arr[0];
        if($month_line_id == $id) {
        fwrite($call,"$month_line_arr[0]|$exp|$color|$color2\n");
        }else {
        fwrite($call,"$month_line");
        }
        }


        fclose($call);
4

1 回答 1

1

改变

if($month_line_id == $id) {

至:

if ($month_line_id >= $min_id && $month_line_id <= $max_id) {

$min_id在您的示例中,其中$max_id包含 15 和 19。

顺便说一句,您可以使用fgetcsv()读取该行并一步将其拆分为列,然后fputcsv()以这种方式将其写回。

于 2013-08-14T23:58:04.070 回答