日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

又拍云递归删除目录及文件

發布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 又拍云递归删除目录及文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

偶然翻看了一下又拍云存儲的api文檔,發現無法刪除非空目錄,簡單寫了一個,使用Yii框架,所以可能看起來有點怪,見諒吧。

1 <?php 2 3 /** 4 * 文件說明. 5 * 6 * @author Kun Xu <kunx@jumei.com> 7 */ 8 class UpyunController extends Controller 9 { 10 11 /** 12 * 刪除文件夾及文件,遞歸刪除目錄及文件. 13 * @param string $path 要遞歸刪除的目錄. 14 * @param string $bucketname 空間名. 15 */ 16 public function actionRemoveDirQuiet($path = '/', $bucketname = '') 17 { 18 $bucketname = '<bucketname>'; //空間名. 19 $username = '<username>'; //操作者賬號. 20 $password = '<password>'; //操作者密碼. 21 Yii::import('ext.UpYun'); //Yii引入UpYun SDK,記得將upyun.class.php改名為UpYun.php放入extensions目錄. 22 $upYun = new UpYun($bucketname, $username, $password); 23 if (strncasecmp('/', $path, 1) !== 0) { 24 $path = '/' . $path; 25 } 26 $this->removeDir($path, $upYun); //調用刪除方法. 27 } 28 29 /** 30 * 刪除目錄. 31 * @param string $path 要刪除的目錄路徑. 32 * @param UpYun $upYun UpYun實例. 33 */ 34 private function removeDir($path, UpYun $upYun) 35 { 36 $list = $upYun->getList($path); //獲取目錄列表信息. 37 if ($list) { 38 foreach ($list as $item) { 39 if (strrpos($path, '/') == strlen($path) - 1) {//判斷路徑是否以/結束,由于開始路徑可能是以/結束的,所以這里需要排除一下 40 $file = $path . $item['name']; 41 } else { 42 $file = $path . '/' . $item['name']; 43 } 44 if ($item['type'] == 'folder') {//是文件夾,遞歸刪除子文件夾文件. 45 $this->removeDir($file, $upYun); 46 } else {//普通文件,直接刪除 47 $upYun->deleteFile($file); 48 } 49 } 50 } 51 $upYun->rmDir($path); 52 } 53 54 }

?

?

?

轉載于:https://www.cnblogs.com/quinnxu/p/3778936.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的又拍云递归删除目录及文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。