如何在CSV上传PHP上检查日期

how to have checking on date on csv upload PHP

提问人:user6001531 提问时间:9/27/2022 最后编辑:Shadowuser6001531 更新时间:9/27/2022 访问量:31

问:

$ayear=date("Y") + 1 ; 
$lyear=date("Y") - 1 ;
$cyear=date("Y") ;  

这里有一些代码

        fgetcsv($handle);
        while($data=fgetcsv($handle)){

            $item0=($data[0]);
            $item1=($data[1]);
            if(!empty($data[2])){
                if((date('Y', strtotime(($data[2]))) >= $lyear) && (date('Y', strtotime(($data[2]))) <= $ayear) ){
                    $item2=date('Ymd', strtotime(($data[2])));
                }else{
                    header("Location: index.php?success=date");
                }

            }else{
                // $item2=($data[2]);
                header("Location: index.php?success=date");
                break;
            }
            $item3=($data[3]);

如何在上传过程中检查列日期上的年份 它需要允许当年、明年和去年的年份

例如,当前年份是 2022 年,它需要允许 2023 年、2022 年和 2021 年

我的目标是防止上传日期远远超过“5029”或“1990”

php csv fgetcsv

评论

2赞 CBroe 9/27/2022
将允许的年份放入数组中,然后使用 ...?in_array
0赞 user6001531 9/27/2022
谢谢你,它现在可以工作了 ''' if(in_array(date('Y', strtotime(($data[2]))), $arryear)){ $item 2=date('Ymd', strtotime(($data[2]))); }else{ header(“位置:index.php?success=date”);```
0赞 ADyson 9/27/2022
如果您有解决方案,请在下面添加正确的答案。如果您将其隐藏在评论中,则没有人可以找到它或对其进行投票
0赞 user6001531 9/27/2022
我还有另一个问题:如何显示有错误的行?
0赞 Shadow 9/27/2022
为什么这个问题被标记为 mysql?我没有看到与 mysql 交互的代码部分,问题也没有表明 mysql 存在问题。

答:

1赞 user6001531 9/27/2022 #1
$ayear=date("Y") + 1 ;
$lyear=date("Y") - 1 ;
$cyear=date("Y") ;
$arryear = array($ayear,$cyear,$lyear);

这里有一些代码

if(in_array(date('Y', strtotime(($data[2]))), $arryear)){
    $item2=date('Ymd', strtotime(($data[2])));
}else{
    header("Location: index.php?success=date");
    break;
}

评论

0赞 Community 10/2/2022
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。