每次消息发出时,我的电信供应商都会向我发送报告。我编写了一个非常简单的 PHP 脚本,它通过 HTTP GET 接收值。使用 fwrite 我将查询参数写入 CSV 文件。文件名为 report.csv,以当前日期为前缀。
这是代码:
<?php
error_reporting(E_ALL ^ E_NOTICE);
date_default_timezone_set('America/New_York');
//setting a the CSV File
$fileDate = date("m-d-Y") ;
$filename = $fileDate."_Report.csv";
$directory = "./csv_archive/";
//Creating handle
$handle = fopen($filename, "a");
//These are the main data field
$item1 = $_GET['item1'];
$item2 = $_GET['item2'];
$item3 = $_GET['item3'];
$mydate = date("Y-m-d H:i:s") ;
$pass = $_GET['pass'];
//testing the pass
if (isset($_GET['pass']) AND $_GET['pass'] == "password")
{
echo 'Login successful';
// just making sure the function could write to it
if (!$handle = fopen($directory.$filename, 'a')){
echo "Cannot open file ($filename)";
exit;
}
//writing the data I receive through query string
if (fwrite($handle, "$item1,$item2,$item3,$mydate \n") === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
fclose($handle);
}
else{
echo 'Login Failure please add the right pass to URL';
}
?>
该脚本执行我想要的操作,但唯一的问题是不一致,这意味着大部分记录丢失(大约一半的报告)。当我登录到我的帐户时,我可以获得完整的报告。
我不知道我需要做什么来解决这个问题,请指教。