免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
PHP常用類庫:PHP文件系統(tǒng)操作類SimFile.class.php
PHP常用類庫:PHP文件系統(tǒng)操作類SimFile.class.php

PHP文件系統(tǒng)操作類,封裝了PHP中FileSystem中的常用函數(shù),并做了一些優(yōu)化。

主要功能:

每個功能對應(yīng)一個方法,主要方法如下:

1.

* 把文件讀入數(shù)組(一行為一個元素)
* 1.去掉每行末的換行符。
* 2.可以設(shè)置是否過濾空行

2.

* 讀取文件為字符串

3.

* 將字符串寫入文件

4.

* 讀取數(shù)組文件,返回一個數(shù)組

5.

* 將一個數(shù)組寫入文件

6.

* 創(chuàng)建目錄
* 1.遞歸創(chuàng)建多級目錄
* 2.同時創(chuàng)建多個目錄

7.

* 刪除目錄和文件
* 1.可以刪除文件和目錄
* 2.判斷目錄和文件是否存在,存在進行刪除。
* 3.遞歸刪除目錄及止內(nèi)所有文件和文件夾。

8.

* 遞歸列出目錄下的所有子目錄和文件

9.

* 遞歸列出目錄下的所有子目錄

10.

* 遞歸列出目錄下的所有文件

11.

* 遞歸列出目錄下的所有子目錄和文件
* 返回以子目錄為鍵,子目錄下所有文件的數(shù)組為值的數(shù)組

12.

* 獲取文件夾大小

13.

* 自動轉(zhuǎn)換文件大小值為合適的單位(四舍五入)


完整源碼:

<?php/** * Sim, Simple library simplify our PHP development. * 使用簡單、簡潔的類庫,簡化我們的PHP開發(fā)。 * * @author 雨中歌者 http://weibo.com/esinger (新浪微博) * @link /link.php?url=http://blog.csdn.net/esinger (技術(shù)博客) * @license http://www.apache.org/licenses/LICENSE-2.0 *//** * 文件系統(tǒng)操作類 * * @author 雨中歌者 * @version 1.0 */class SimFile {	/**	 * 構(gòu)造函數(shù)	 * 防止實例化	 */	public function __construct() {		return;	}		/**	 * 把文件讀入數(shù)組(一行為一個元素)	 * 1.去掉每行末的換行符。	 * 2.可以設(shè)置是否過濾空行。	 *	 * @access public	 * @param string $filename	 * @param boolean $skip_empty_lines 是否過濾空行	 * @return array	 */	public static function file($filename, $skip_empty_lines = false) {		if ($skip_empty_lines) {			return file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);		} else {			return file($filename, FILE_IGNORE_NEW_LINES);		}	}		/**	 * 讀取文件為字符串	 *	 * @access public	 * @param string $filename	 * @return boolean string	 */	public static function read($filename) {		return is_file($filename) ? file_get_contents($filename) : false;	}		/**	 * 將字符串寫入文件	 *	 * @access public	 * @param string $filename	 * @param string $data	 * @return number	 */	public static function write($filename, $data) {		$dirname = dirname($filename);		self::mkdir($dirname);		return file_put_contents($filename, $data);	}		/**	 * 讀取文件為一個數(shù)組	 *	 * @access public	 * @param string $filename	 * @return array 文件不存在或讀取失敗,返回空數(shù)組	 */	public static function readArray($filename) {		$data = is_file($filename) ? file_get_contents($filename) : false;		$data = unserialize($data);		return is_array($data) ? $data : array();	}		/**	 * 將一個數(shù)組寫入文件	 *	 * @access public	 * @param string $filename	 * @param array $array	 * @return array 返回寫入的數(shù)組	 */	public static function writeArray($filename, $array) {		self::write($filename, serialize($array));		return $array;	}		/**	 * 創(chuàng)建目錄	 * 1.遞歸創(chuàng)建多級目錄	 * 2.同時創(chuàng)建多個目錄	 *	 * @param string|array $dirname	 * @param number $mode	 * @param boolean $recursive	 */	public static function mkdir($dirname, $mode = 0777, $recursive = true) {		if (is_string($dirname) || is_numeric($dirname)) {			if (!is_dir($dirname)) {				return mkdir($dirname, $mode, $recursive);			}		} elseif (is_array($dirname)) {			foreach ($dirname as $dir) {				is_dir($dir) or mkdir($dir, $mode, $recursive);			}		}		return false;	}		/**	 * 刪除目錄和文件	 * 1.可以刪除文件和目錄	 * 2.判斷目錄和文件是否存在,存在進行刪除。	 * 3.遞歸刪除目錄及止內(nèi)所有文件和文件夾	 *	 * @access public	 * @param string $filename	 */	public static function delete($filename) {		$filename = rtrim($filename, '/\\');		if (is_dir($filename)) {			if (($dh = @opendir($filename)) !== false) {				while (false !== ($file = readdir($dh))) {					if ($file != "." && $file != "..") {						$path = $filename . '/' . $file;						is_dir($path) ? self::delete($path) : @unlink($path);					}				}				closedir($dh);			}			rmdir($filename);		} else {			unlink($filename);		}	}		/**	 * 遞歸列出目錄下的所有子目錄和文件	 *	 * @access public	 * @param string $dirname	 * @return array 成功返回包含所有子目錄和文件的一維數(shù)組。失敗返回空數(shù)組。	 */	public static function getSub($dirname) {		$dirname = rtrim($dirname, '/\\');		$ret = array();		if (is_dir($dirname)) {			if (($dh = @opendir($dirname)) !== false) {				while (($file = readdir($dh)) !== false) {					if ($file != '.' && $file != '..') {						$path = $dirname . DIRECTORY_SEPARATOR . $file;						$ret[] = $path;						is_dir($path) && $ret = array_merge($ret, self::getSub($path));					}				}				closedir($dh);			}		}		return $ret;	}		/**	 * 遞歸列出目錄下的所有子目錄	 *	 * @access public	 * @param string $dirname	 * @return array 成功返回包含所有子目錄的一維數(shù)組。失敗返回空數(shù)組。	 */	public static function getSubDir($dirname) {		$dirname = rtrim($dirname, '/\\');		$ret = array();		if (is_dir($dirname)) {			if (($dh = @opendir($dirname)) !== false) {				while (($file = readdir($dh)) !== false) {					if ($file != '.' && $file != '..') {						$path = $dirname . DIRECTORY_SEPARATOR . $file;						if (is_dir($path)) {							$ret[] = $path;							$ret = array_merge($ret, self::getSubDir($path));						}					}				}				closedir($dh);			}		}		return $ret;	}		/**	 * 遞歸列出目錄下的所有文件	 *	 * @access public	 * @param string $dirname	 * @return array 成功返回包含所有文件的一維數(shù)組。失敗返回空數(shù)組。	 */	public static function getSubFile($dirname) {		$dirname = rtrim($dirname, '/\\');		$ret = array();		if (is_dir($dirname)) {			if (($dh = @opendir($dirname)) !== false) {				while (($file = readdir($dh)) !== false) {					if ($file != '.' && $file != '..') {						$path = $dirname . DIRECTORY_SEPARATOR . $file;						if (is_dir($path)) {							$ret = array_merge($ret, self::getSubFile($path));						} else {							$ret[] = $path;						}					}				}				closedir($dh);			}		}		return $ret;	}		/**	 * 遞歸列出目錄下的所有子目錄和文件	 *	 * @access public	 * @param string $dirname	 * @return array 成功返回以子目錄為鍵,子目錄下所有文件的數(shù)組為值的數(shù)組,失敗返回空數(shù)組。	 */	public static function getSubAsKV($dirname) {		$dirname = rtrim($dirname, '/\\');		$ret = array();		if (is_dir($dirname)) {			if (($dh = @opendir($dirname)) !== false) {				while (false !== ($file = readdir($dh))) {					if ($file != "." && $file != "..") {						$path = $dirname . DIRECTORY_SEPARATOR . $file;						is_dir($path) ? $ret[$path] = self::getSub($path) : $ret[] = $path;					}				}				closedir($dh);			}		}		return $ret;	}		/**	 * 獲取文件夾大小	 *	 * @access public	 * @param string $dirname	 * @return number 返回文件夾大小(單位為字節(jié))。	 */	public static function getDirSize($dirname) {		$dirname = rtrim($dirname, '/\\');		$size = 0;		if (is_dir($dirname)) {			if (($dh = @opendir($dirname)) !== false) {				while (($file = readdir($dh)) !== false) {					if ($file != '.' && $file != '..') {						$file = $dirname . DIRECTORY_SEPARATOR . $file;						$size += is_dir($file) ? self::getDirSize($file) : filesize($file);					}				}				closedir($dh);			}		}		return $size;	}		/**	 * 獲取自動轉(zhuǎn)換單位的文件大小值(四舍五入)	 *	 * @access public	 * @param float $byte	 * @param integer $precision 精度	 * @return string	 */	public static function getAutoSize($byte, $precision = 2) {		$kb = 1024;		$mb = $kb * 1024;		$gb = $mb * 1024;		$tb = $gb * 1024;		if ($byte < $kb) {			return $byte . ' B';		} elseif ($byte < $mb) {			return round($byte / $kb, $precision) . ' KB';		} elseif ($byte < $gb) {			return round($byte / $mb, $precision) . ' MB';		} elseif ($byte < $tb) {			return round($byte / $gb, $precision) . ' GB';		} else {			return round($byte / $tb, $precision) . ' TB';		}	}}  // End of file SimFile.class.php


作者:esinger 發(fā)表于2013-4-25 11:17:45 原文鏈接
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
php列出一個目錄下的所有文件的代碼
php 文件上傳函數(shù)(超詳細)
PHP讀取docdocxxlspdftxt內(nèi)容
PHP定時器
PHP常用函數(shù)
創(chuàng)建級聯(lián)目錄的五種方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服