php浏览服务器某一文件夹内容,php删除web服务器中指定目录下的指定格式的文件...
今天還在寫VipSystem Pro的授權部分,用戶授權后,生成匹配該用戶的唯一的php文件集合(在一個目錄下),然后進行zip下所并彈出下載。
這個臨時生成的zip文件存放在我指定的一個目錄。每個用戶授權不同的功能,都會產生一個唯一的zip壓縮文件。用戶多了,服務器會存放很多zip文件。這時候,就需要設置一個過期時間,刪除這些文件。留給用戶一個下載有效期。即能保證空間不被過多占用,也能保證授權文件不被惡意下載。
截圖中的是生成的臨時文件。
通過如下代碼刪除
/**
* 名稱:刪除超過指定時間web服務器指定目錄下,指定文件。
* 時間:2016-10-24 20:24
* 作者:千年騷狐
*/
/**
* 獲取目錄下文件列表
* $dir 為文件的絕對路徑
* $all 如果該目錄下還有文件夾,是否進行搜索。默認true,搜索。
*/
function list_dir($dir,$all=true){
$result = array();
if (is_dir($dir)){ //目錄存在
$file_dir = scandir($dir); //返回指定目錄中的文件和目錄的數組。
foreach($file_dir as $file){ //遍歷數組中的文件和目錄
//iconv('gbk','utf-8',$file); //如果目錄中存在中文名稱,可以使用本條
if ($file == '.' || $file == '..'){ //過濾掉當前目錄'.'和上一級目錄'..'
continue;
}
elseif (is_dir($dir.$file) && $all==true){ //如果路徑為目錄,則繼續遍歷其中的文件以及目錄
$result = array_merge($result, list_dir($dir.$file.'/'));
}
else{ //如果路徑為文件則加入輸入數組
array_push($result, $dir.$file);
}
}
}
return $result; //輸出文件路徑
}
/**
* 刪除超時的指定文件
* $file_dir_array 是文件路徑的數組
* $file_type 指定要刪除文件的文件格式
* $expiration_time 設置超時時間,單位為分鐘
*/
function delete_zip_file($file_dir_array,$file_type,$expiration_time){
foreach($file_dir_array as $file_name){ //遍歷數組
if(is_file($file_name)){ //如果為文件
$file_info = pathinfo($file_name); //返回路徑的信息
if($file_info['extension'] == $file_type){ //文件后綴為指定的$file_type
$create_time = filectime($file_name); //獲得文件創建時間
$expiration_time = strtotime("+".$expiration_time." minutes",$create_time); //設置超時時間
if($expiration_time < time()){ //創建的文件時間超過指定時間
unlink($file_name); //刪除該文件
}
}
}
}
}
/**
* 調用方法
* 比如,我想刪除D:\phpStudy\WWW\web\wp-content\plugins\my_plugins\temp目錄下,超過創建時間5分鐘的zip文件。
*/
//定義路徑
$dir = 'D:\phpStudy\WWW\web\wp-content\plugins\my_plugins\temp';
//定義是否搜索子級目錄的文件,這里我不搜索
$all = false;
//獲得定義路徑下載文件目錄數組
$file_dir_array = list_dir($dir,$all);
//定義要刪除的文件格式
$file_type = 'zip';
//定義超時時間,單位:分
$expiration_time = '5';
//執行刪除命令
delete_zip_file($file_dir_array,$file_type,$expiration_time);
?>
我覺得給這個插件做的授權系統,都可以獨立出來一個授權軟件了。其中還會生成對應每一個用戶的獨立的key文件。
這些是密文,而不是簡單的加密所用特征碼。他們是可以通過密鑰翻譯成字符串的。
感覺自己好高端,哈哈。
總結
以上是生活随笔為你收集整理的php浏览服务器某一文件夹内容,php删除web服务器中指定目录下的指定格式的文件...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html如何太假icon图标,CSS3
- 下一篇: php程序访问mysql数据实现查询_P