ตั้งกระทู้ถามปัญหานี้มาหลายครั้ง แต่ยังทำไม่ได้เลย วอนพี่ ๆ (พี่PlaKriM, พี่ MR.WIN , พี่ P@e ช่วย.
ผมเข้าลิ้งแล้ว หน้า เพจ มัน Error อ่า ครับ ><
Date :
2009-09-02 11:16:04
By :
popnakub
เรียน คุณ popjung
ขอโทษครับ ที่ไม่สามารถเปิดลิงค์ได้
แต่ก็แก้ไขตามลิงค์นี้เลยนะครับ...
https://www.thaicreate.com/php/forum/030511.html
เรียน พี่ P@e
ครับ ...ส่วนเรื่องการตั้งค่าลบใน SCHEDULE TASK ใน MS-Windows2003Server นั้น มันทำได้อยู่แล้วครับ แต่ผมไม่เก่งในการเขียนโค๊ด PHP ที่จะทำให้มันลบตามวันที่ในโฟลเดอร์ได้
อย่างไงก็รบกวนช่วยแนะนำหรือเขียนโค๊ดให้ผมดูเป็นตัวอย่างจะได้หรือไม่ครับ ???? ขอขอบคุณล่วงหน้าครับ...
Date :
2009-09-02 11:51:34
By :
pukmtec
----------------------------------------------------------------
จากกระทู้นะครับ dataBase มีดังนี้ครับ :-
----------------------------------------------------------------
-- phpMyAdmin SQL Dump
-- version 2.10.2
-- http://www.phpmyadmin.net
--
-- โฮสต์: localhost
-- เวลาในการสร้าง: 02 ก.ย. 2009 น.
-- รุ่นของเซิร์ฟเวอร์: 5.0.22
-- รุ่นของ PHP: 5.1.4
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- ฐานข้อมูล: `db_testphp`
--
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `tb_testuploadfile`
--
CREATE TABLE `tb_testuploadfile` (
`idUpload` int(11) NOT NULL auto_increment,
`dateUpload` date NOT NULL,
`timeUpload` time NOT NULL,
`userUpload` varchar(255) character set tis620 NOT NULL,
`pathfile` varchar(255) character set tis620 NOT NULL,
`fileUpload` varchar(255) character set tis620 NOT NULL,
`fileSize` varchar(255) character set tis620 NOT NULL,
PRIMARY KEY (`idUpload`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
--
-- dump ตาราง `tb_testuploadfile`
--
INSERT INTO `tb_testuploadfile` VALUES (1, '2009-08-18', '15:49:07', 'jjj', '20090818-154907-jjj', 'Becthai.zip', '15 MB.');
INSERT INTO `tb_testuploadfile` VALUES (2, '2009-08-18', '11:37:30', 'iii', '20090818-113730-iii', 'tara.zip', '15 MB.');
INSERT INTO `tb_testuploadfile` VALUES (3, '2009-08-17', '15:04:14', 'hhh', '20090817-150414-hhh', 'Foods.zip', '7 MB.');
INSERT INTO `tb_testuploadfile` VALUES (4, '2009-08-19', '14:53:02', 'ggg', '20090819-145302-ggg', 'impact 51.zip0054', '3 MB.');
INSERT INTO `tb_testuploadfile` VALUES (5, '2009-08-20', '14:35:57', 'fff', '20090820-143557-fff', 'impactMAT 51.zip', '3 MB.');
INSERT INTO `tb_testuploadfile` VALUES (6, '2009-08-22', '09:16:00', 'eee', '20090822-091600-eee', 'impactWER.zip', '3 MB.');
INSERT INTO `tb_testuploadfile` VALUES (7, '2009-08-24', '17:21:14', 'ddd', '20090824-172114-ddd', 'impact 51.zip', '3 MB.');
INSERT INTO `tb_testuploadfile` VALUES (8, '2009-08-29', '13:44:37', 'ccc', '20090829-134437-ccc', 'Mt3153_2.zip', '14 MB.');
INSERT INTO `tb_testuploadfile` VALUES (9, '2009-08-31', '10:34:06', 'bbb', '20090831-103406-bbb', 'Sekisui_1.zip', '9 MB.');
INSERT INTO `tb_testuploadfile` VALUES (10, '2009-09-01', '10:30:58', 'aaa', '20090901-103058-aaa', 'Report_Progres1.zip', '12 MB.');
----------------------------------------------------------------
จากกระทู้นะครับ ผมได้ลองเขียนโค๊ดไว้บ้างแล้วดังนี้ :*
----------------------------------------------------------------
<?php
$hostName = "localhost";
$userName = "user";
$passWord = "user";
$conn = mysql_connect($hostName, $userName, $passWord) or die ("Can not Database Server");
mysql_query("SET NAMES tis620", $conn);
mysql_query("USE db_testphp");
// กำหนดวันที่จะให้ลบโฟลเดอร์
$dataDel = 7;
// แสดงวันที่ปัจจุับัน
$dateCurrent = date("Y-m-d");
$dateB = explode("-",$dateCurrent );
$dateToday = mktime(0, 0, 0, $dateB[1], $dateB[2], $dateB[0]);
// เรียกข้อมูลจาก tb_testuploadfile เรียงวันที่ จากน้อยไปมาก
$sql = "SELECT * FROM tb_testuploadfile ORDER BY dateUpload ASC";
$result = mysql_query($sql) or die ("$sql_Error");
while($row=mysql_fetch_array($result)){
$dateDBW = $row['dateUpload'];
$dateDBY = explode("-",$dateDBW);
$dateDBZ = mktime(0, 0, 0, $dateDBY[1], $dateDBY[2], $dateDBY[0]);
echo "วันที่ปัจจุบัน : $dateCurrent <br>";
echo "วันที่ในฐาน : $dateDBW <br>";
echo "กำหนดวันลบ : <font color=green><b>$dataDel วัน</b></font><br>";
// ค่าวันเดือนปีปัจจุบัน - ค่าของวันเดือนปีในฐาน / (24*60*60);
$expireDate = ($dateToday - $dateDBZ) / (24*60*60);
if ( $expireDate > $dataDel){
echo "จำนวนว้นอัพโหลดไฟล์ <font color=red>$expireDate วัน :> <b>ลบไฟล์โฟลเดอร์</b></font><hr>";
}else{
echo "จำนวนวันอัพโหลดไฟล์ $expireDate วัน : <font color=blue>ยังไม่ต้องทำอะไรทั้งสิ้น</font ><hr>";
}
}
?>
------------------------------------------------------------------
จะแสดงผลออกจากดังนี้ :-
ส่วนจะให้เขียนลบโฟลเดอร์นั้น ผมยังเขียนไม่เป็นครับ ว่าจะเริ่มต้นเขียนอย่างไร ขอวิงวอนพี่ ๆ ช่วยแนะนำให้ด้วยนะครับ ขอขอบคุณอย่างที่สุดครับ...
Date :
2009-09-02 19:40:28
By :
pukmtec
ทำไมตรงจำนวนวันอัพโหลด มันไม่ขึ้นเป็นจำนวนวันอ่ะ
Code (PHP)
<?php
$hostName = "localhost";
$userName = "root";
$passWord = "1234";
$conn = mysql_connect($hostName, $userName, $passWord) or die ("Can not Database Server");
mysql_query("SET NAMES tis620", $conn);
mysql_query("USE db_testphp");
// กำหนดวันที่จะให้ลบโฟลเดอร์
$dataDel = 7;
// แสดงวันที่ปัจจุับัน
$dateCurrent = date("Y-m-d");
$dateB = explode("-",$dateCurrent );
$dateToday = mktime(0, 0, 0, $dateB[1], $dateB[2], $dateB[0]);
// เรียกข้อมูลจาก tb_testuploadfile เรียงวันที่ จากน้อยไปมาก
$sql = "SELECT * FROM tb_testuploadfile ORDER BY dateUpload ASC";
$result = mysql_query($sql) or die ("$sql_Error");
while($row=mysql_fetch_array($result)){
$dateDBW = $row['dateUpload'];
$dateDBY = explode("-",$dateDBW);
$dateDBZ = mktime(0, 0, 0, $dateDBY[1], $dateDBY[2], $dateDBY[0]);
echo "วันที่ปัจจุบัน : $dateCurrent <br>";
echo "วันที่ในฐาน : $dateDBW <br>";
echo "กำหนดวันลบ : <font color=green><b>$dataDel วัน</b></font><br>";
// ค่าวันเดือนปีปัจจุบัน - ค่าของวันเดือนปีในฐาน / (24*60*60);
$expireDate = ($dateToday - $dateDBZ) / (24*60*60);
if ( $expireDate > $dataDel){
echo "จำนวนว้นอัพโหลดไฟล์ <font color=red>$expireDate วัน :> <b>ลบไฟล์โฟลเดอร์</b></font><hr>";
}else{
echo "จำนวนวันอัพโหลดไฟล์ $expireDate วัน : <font color=blue>ยังไม่ต้องทำอะไรทั้งสิ้น</font ><hr>";
}
}
?>
มันขึ้นแบบนี้อ่ะ
จำนวนวันอัพโหลดไฟล์ 70.0416666667 วัน :> ลบไฟล์โฟลเดอร์
Date :
2009-10-26 09:14:41
By :
หญิง
$expireDate = intval(($dateToday - $dateDBZ) / (24*60*60));
Date :
2009-10-26 16:59:25
By :
lozomac
Load balance : Server 03