我使用下面的代碼位來獲取我的雲服務器上的文件timestamps
,然後刪除超過特定年齡的文件。比較兩個unix時間文件刪除舊文件
現在代碼被設置爲刪除超過10分鐘的任何東西進行測試。
但是它會刪除所有內容,即使我上傳了一些文件,然後在10秒後運行該腳本。
有沒有一些小問題我沒有看到?
$auth->authenticate();
//connect
$conn = new CF_Connection($auth);
//create a handle for the CLOUD FILES container we want to delete from
$daily_dose = $conn->get_container('daily_dose');
//delete the obeject
$daily_packages = $daily_dose->list_objects();
//print_r($daily_packages);
//$public_container = $conn->get_container("public");
//$file_age = 86400; // 1 day in seconds
$file_age = 600; // 10 minutes
echo 'current time: ';
echo $current_time = time();
echo '<br>';
echo 'time offset: ';
echo $previous_day = $current_time - $file_age;
echo '<br>';
foreach($daily_packages as $package)
{
echo $item = $daily_dose->get_object($package);
$modified = $item->last_modified;
echo ' ' . $modified;
echo ' -> ' . strtotime($modified);
echo '<br>';
//If the modified time of the file is less the current time - 1 day in seconds (older than 1 day) delete it
if ($modified < $previous_day)
{
//delete the file
$daily_dose->delete_object($item);
}
}
你能還包括沒有時間或時區的差異()返回時,和什麼是「回聲」,它對我們也是有用的。 – alex 2011-03-20 23:10:55
'$ item-> last_modified'究竟是什麼?事實上,它是否與time()返回的時間戳相同?假設你再使用一些代碼:'echo''。 $修改。 ' - >'。時間($修改)。 「;比較'。 $修改。 '與'。 $ previous_day。 '=>'。 ($修改<$前一天)。
;'或類似的東西;輸出是否亮起? – 2011-03-20 23:11:39
'last_modified'是一個類變量,它會返回類似於'Sun,2011年3月20日23時09分36秒',然後我將變成一個'時間戳' – ian 2011-03-20 23:15:30