您好,登錄后才能下訂單哦!
這篇文章主要介紹了php如何刪除3天前的數據,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
php刪除3天前數據的方法:1、通過“date('Ymd',strtotime('-3 days'));”獲取三天前的日期;2、通過“unlink($file_name);”刪除三天前的文件即可。
本文操作環境:Windows7系統、PHP7.1版,Dell G3電腦
php怎么刪除3天前的數據?
PHP每天數據寫當天文件,第二天讀取,和刪除三天前的文件
關于這個腳本,我思路是文件名直接用當天的日期,之后讀取文件和刪除文件就很方便了。如:20190218.txt
關于時間的處理:獲取當前時間可以使用date()函數,獲取到的是當前的時間戳,如果想顯示日期可以給里面加參數,參數規定時間顯示的格式,如data("Ymd"),是本次我使用的日期格式,輸出的數據就是"20190218"這樣;date("Y-m-d")是"2019-02-18";如果還要顯示具體的時間,date("Y-m-d H:i:s"),結果如"2019-02-18 10:51:26"。關于獲取前幾天或后幾天的時間,可以使用strtotime()方法。這個方法的作用是將英文文本日期時間解析為 Unix 時間戳。使用方法如:date("Ymd",strtotime("-1 day");獲取昨天的日期,若是獲取三天前的,則把"-1 day"換成"-3 days"即可;當然,也可以把day換成mouth,week,hour,year等,前面是“-”表示前幾天或幾小時,“+”表示后幾天或幾小時的時間。由于它是按時間戳算,所以只能計算1970年之前的。自 January 1 1970 00:00:00 GMT 起的秒數。
$date = date("Ymd"); $file_name = '/tmp/'.$date.'.txt';
以上代碼是獲取當前時間并生成文件名的部分,文件存在/tmp目錄下。
PHP寫文件:寫文件需要一條數據寫一行,最開始使用的是file_put_contents(),用于把一個字符串寫入文件中。這個方法的語法是:
file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
參數的含義分別是:
為了避免出錯,數據寫入前都先使用json_encode編碼為json字符串。使用file_put_contents方法寫入數據,后面勢必要加FILE_APPEND,但是數據會直接跟在后面,讀取的時候讀取一行數據會把整個文件作為一行數據都讀出來,而不是取一條。解決的辦法是每行數據后都加入一個換行符。后面發現了PHP更為方便的一個文件處理方法,就不再用這個方法。
$fp = fopen($file_name,'a'); //打開文件,生成文件句柄,如果文件不存在則新建。 fwrite($fp,json_encode($log)."\n"); //寫入數據 fclose($fp); //關閉文件
PHP讀取文件:使用的方法是fgets(),該方法一次讀取一行數據。
$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刪除文件:使用unlink方法,若成功,則返回 true,失敗則返回 false。
$date = date('Ymd',strtotime('-3 days')); //獲取三天前的日期 $file_name = '/tmp/'.$date.'.txt'; //三天前的文件名 if(file_exists($file_name)){ unlink($file_name); //刪除文件 }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“php如何刪除3天前的數據”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。