Maison  >  Article  >  développement back-end  >  Comment supprimer les données d'il y a 3 jours en php

Comment supprimer les données d'il y a 3 jours en php

藏色散人
藏色散人original
2021-09-17 09:27:352386parcourir

Comment supprimer des données il y a 3 jours en PHP : 1. Obtenez la date d'il y a trois jours via "date('Ymd',strtotime('-3days'));" 2. Via "unlink($file_name); " Supprimez simplement les fichiers datant de plus de trois jours.

Comment supprimer les données d'il y a 3 jours en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3

Comment supprimer des données d'il y a 3 jours avec php ?

PHP écrit chaque jour les données dans le fichier du jour, les lit le lendemain et supprime le fichier il y a trois jours

À propos de ce script, mon idée est d'utiliser directement la date du jour pour le nom du fichier, et puis il est très pratique de lire le fichier et de le supprimer. Par exemple : 20190218.txt

À propos du traitement de l'heure : Pour obtenir l'heure actuelle, vous pouvez utiliser la fonction date(). Ce que vous obtenez est l'horodatage actuel. Si vous souhaitez afficher la date, vous pouvez ajouter des paramètres. Les paramètres spécifient le format d'affichage de l'heure. Par exemple, data("Ymd") est le format de date que j'ai utilisé cette fois, et les données de sortie sont "20190218" date("Y-m-d") est "2019-02" ; -18" ; si vous souhaitez afficher l'heure et la date spécifiques ("Y-m-d H:i:s"), le résultat est du type "2019-02-18 10:51:26". Pour obtenir l'heure des jours précédents ou suivants, vous pouvez utiliser la méthode strtotime(). La fonction de cette méthode est d'analyser la date et l'heure du texte anglais dans un horodatage Unix. La méthode d'utilisation est la suivante : date("Ymd", strtotime("-1 day"); pour obtenir la date d'hier. Si vous souhaitez obtenir la date d'il y a trois jours, remplacez simplement "-1 day" par "-3 jours" ; bien sûr, vous pouvez également changer le jour en bouche, la semaine, l'heure, l'année, etc. "-" devant signifie les jours ou les heures précédents, et "+" signifie les prochains jours ou heures puisqu'il est calculé en fonction. sur l'horodatage, il ne peut donc calculer que le nombre de secondes depuis le 1er janvier 1970 00:00:00 GMT

$date = date("Ymd");
$file_name = '/tmp/'.$date.'.txt';

Le code ci-dessus est la partie qui obtient l'heure actuelle et génère le nom du fichier. Le fichier est stocké dans le /. tmp. Écrire un fichier

 : L'écriture d'un fichier nécessite l'écriture d'une ligne de données. La première ligne utilisée est file_put_contents(), qui est utilisée pour écrire une chaîne dans le fichier. $filename, Mixed $data [ , int $flags = 0 [, Resource $context ]] ) Les significations des paramètres sont :

Afin d'éviter les erreurs, utilisez json_encode pour encoder les données dans une chaîne json avant l'écrire et utiliser la méthode file_put_contents pour l'écrire. Les données doivent être ajoutées après FILE_APPEND, mais les données suivront directement lors de la lecture, la lecture d'une ligne de données lira le fichier entier comme une seule ligne de données, au lieu de prendre une seule ligne. . La solution est d'ajouter après chaque ligne de données. Un caractère de nouvelle ligne. Plus tard, j'ai découvert une méthode de traitement de fichiers plus pratique en PHP, donc je n'utilise plus cette méthode

$fp = fopen($file_name,'a'); //打开文件,生成文件句柄,如果文件不存在则新建。
fwrite($fp,json_encode($log)."\n"); //写入数据
fclose($fp); //关闭文件

PHP lit les fichiers

: La méthode utilisée est fgets. (), qui lit une ligne de données à la fois.

$date = date('Ymd',strtotime('-1 day')); //获取前一天的日期
$file_name = '/tmp/'.$date.'.txt'; //前一天的文件名
if(file_exists($file_name)) {
    $fp = fopen($file_name, "r");
    while (!feof($fp)) {
        $log = fgets($fp);
        $log = json_decode($log, true);
        ...
        //使用读取的数据,记得判空,最后一行是个换行符
        ...
        }

    fclose($fp);
}

PHP delete files

 : utilisez la méthode de dissociation, en cas de succès, renvoyez vrai, en cas d'échec, renvoyez faux

$date = date('Ymd',strtotime('-3 days')); //获取三天前的日期
$file_name = '/tmp/'.$date.'.txt'; //三天前的文件名
if(file_exists($file_name)){
    unlink($file_name); //删除文件
}

Apprentissage recommandé : ". Tutoriel vidéo PHP"

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn