我有一个应用程序,它根据赛狗历史记录生成一系列统计数据。然后使用该数组生成一个表,然后将其输出到浏览器。我目前正在创建一个函数,它将根据这些统计信息生成Excel下载。但是,此excel下载仅在原始处理完成后才可用。让我解释一下。
然而,这是我被卡住的地方。 excel下载存在于同一个控制器中的另一个方法中,如此......
function view($race_id) {
//Process race data and place in $stats
//Output table & excel link
}
function view_excel($race_id) {
//Process race data <- I don't want it to have to process all over again!
//Output excel sheet
}
正如您所看到的,数据已经在“视图”方法中处理,因此在“view_excel”方法中再次处理数据似乎是浪费大量资源。
因此,我需要一种方法,在点击链接时将 $ stats 转移到excel方法,以防止必须再现它。我能想到的唯一方法如下。
$ stats 的示例:
Array
(
[1] => Array
(
[fcalc7] =>
[avgcalc7] =>
[avgcalc3] => 86.15
[sumpos7] =>
[sumpos3] => 9
[sumfin7] =>
[sumfin3] => 8
[total_wins] => 0
[percent_wins] => 0
[total_processed] => 4
[total_races] => 5
)
[2] => Array
(
[fcalc7] => 28.58
[avgcalc7] => 16.41
[avgcalc3] => 28.70
[sumpos7] => 18
[sumpos3] => 5
[sumfin7] => 23
[sumfin3] => 7
[total_wins] => 0
[percent_wins] => 0
[total_processed] => 7
[total_races] => 46
)
[3] => Array
(
[fcalc7] => 28.47
[avgcalc7] => 16.42
[avgcalc3] => 28.78
[sumpos7] => 28
[sumpos3] => 11
[sumfin7] => 21
[sumfin3] => 10
[total_wins] => 0
[percent_wins] => 0
[total_processed] => 7
[total_races] => 63
)
)
很高兴听到你的想法。
丹
答案 0 :(得分:0)
您可以使用数据依赖文件名将serialize数组sys_get_temp_dir()放入{{3}}的文件中。剩下的唯一问题是清理旧文件。
如您所说,将其放入数据库也是可能的,如果您跟踪创建时间,删除旧数据比在文件系统上更容易。