View: 2019|Reply: 6
|
PHP Autodelete function
[Copy link]
|
|
hi guys,
miss nak tanya lagi..ok like this..
miss nak wat autodelete function based on date..data akan miss delete selepas sebulan..ok miss boleh set php script tu tp masalahnya nak make it that script working kiter kena bukak page tu kan..hmm ada tak cara klau miss hidden page tu n make it autodelete? x yah bukak page tp dia boleh delete?
or korang ada cara lain?
thanks in advance. |
|
|
|
|
|
|
|
buat je bash file kat /etc/cron.monthly |
|
|
|
|
|
|
|
Reply #2 BorderManager's post
ermmm susah gak tuh.. kene wat /etc/cron.monthly eh?? |
|
|
|
|
|
|
|
Reply #3 liverpoolfctv's post
cron job tu autorun utk linux, aku buat daily dan monthly backup guna fail je.........so xde isu ko masuk webpage ke tak........ |
|
|
|
|
|
|
|
ataupun ...
takyah buat automatic precise in time ..
just buat satu file php ..
yg dalam tu ada
- $keeptime = time()-60*60*24*30;
- $sql = " delete from x where addtime<$keeptime"
- mysql_query($sql);
Copy the Code
include je file di atas kat index.php ataupun file login ke dll .. include seawal mungkin
so bila org nak guna je system, baru dia "autodelete"...
maksudnya .. org lain yg tolong u "purge" old data
unless ...
kalau ada application lain yg check database tu .. but again, application tu boleh select based kepada $keeptime ..
web application ni tak perlu realtime giler babi .. pseudo realtime dah ok ..
btw,
teknik ni boleh menyebabkan application slow(extreme cases, high trafic dan high data) ..
maybe kena optimize sket, yakni call delete tu sekali sehari/sejam sahaja .. ataupun just create field utk tag samada row tu deleted atau tidak .. then manually delete and optimize table ..
contohnya ..
- // optimized pseudo auto-delete, i tak check betul ke idak, ni pseudo algo je
- $lastdeleted=0;
- if(file_exists($namatagfile) {
- $lastdeleted = str2int(file_get_content($namatagfile));
- }
- if($lastdeleted<time()-$sejam) {
- $sql = "delete from table where time<xxx";
- mysql_query($sql);
- $f = fopen($namatagfile, "wt");
- fprintf($f, "%d", time());
- fclose($f);
- }
- // settle
Copy the Code
begitulah adanya |
|
|
|
|
|
|
|
memang kene wat cron job..sebab yang ni lebih kurang cam scheduler..lepas satu masa...dia akan run dan delete data automatically..so kene wat camni..takde cara lain...sebab yang saya tahu dan pernah buat tu je la...![](static/image/smiley/default/smile.gif)
[ Last edited by mygirlz at 29-5-2007 09:39 PM ] |
|
|
|
|
|
|
IblisCun This user has been deleted
|
..................................................................................
.................................................................................
[ Last edited by blackpearl at 19-6-2007 09:27 PM ] |
|
|
|
|
|
|
| |
|