`
flex_莫冲
  • 浏览: 1090292 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PHP常用函数收集

    博客分类:
  • php
 
阅读更多
1、出生日期转换成年龄
private function changeBirthdayToAge($birthday)
{
	$interval = date(time() - strtotime($birthday));
	return intval($interval / (365 * 60 * 60 * 24 )) + 1;
}


2、object转换成array
function objectToArray($d) {
	if (is_object($d)) {
		// Gets the properties of the given object
		// with get_object_vars function
		$d = get_object_vars($d);
	}

	if (is_array($d)) {
		/*
		* Return array converted to object
		* Using __FUNCTION__ (Magic constant)
		* for recursive call
		*/
		return array_map(__FUNCTION__, $d);
	}
	else {
		// Return array
		return $d;
	}
}


3、array转换成object
function arrayToObject($d) {
	if (is_array($d)) {
		/*
		* Return array converted to object
		* Using __FUNCTION__ (Magic constant)
		* for recursive call
		*/
		return (object) array_map(__FUNCTION__, $d);
	}
	else {
		// Return object
		return $d;
	}
}


4、日期格式化
function microtime_format() {
    $time = number_format(microtime(true),8,'.','');
	return explode(".", $time);
}


5、HTML格式编码转换
function htmlspecialcharsx($str) {
	$s = htmlspecialchars($str);
	return str_replace('&#', '&#', $s);
}


6、当前日期
function datetime() {
   return  date("Y-m-d H:i:s");
}


7、多维数组排序
function multi_array_sort($multi_array, $sort_key, $sort=SORT_ASC){ 
	if(is_array($multi_array)){ 
		foreach ($multi_array as $row_array){ 
			if(is_array($row_array)){ 
				$key_array[] = $row_array[$sort_key]; 
			} else { 
				return false; 
			} 
		} 
	} else { 
		return false; 
	} 
	array_multisort($key_array, $sort, $multi_array); 
	return $multi_array; 
} 


8、创建目录
        /**
	 +----------------------------------------------------------
	 * 创建目录
	 +----------------------------------------------------------
	 * @access private
	 * @param  dir 目录地址
	 * @return boolean
	 +----------------------------------------------------------
	 */
	public function createDir($dir)
	{
		// 創建目錄
		if (!is_dir($dir)) {
			return mkdir($dir, 0755, true);
		}
		return TRUE;
	}


9、删除目录
/**
     +----------------------------------------------------------
     * 删除指定目录下的所有文件及目录
     +----------------------------------------------------------
	 * @access public
	 * @param  dirName 目录路径
	 * @return boolean
     +----------------------------------------------------------
     */
	public function removeDir($dirName)
	{
		$handle = opendir("$dirName");
		if (!$handle) return FALSE;
		while (false !== ($item = readdir($handle))) {
		   if ($item != "." && $item != ".."){
			   if(is_dir("$dirName/$item")){
			   		$this->removeDir("$dirName/$item");
			   }else{
			   		unlink("$dirName/$item");
			   }
		   }
	   }
	   closedir($handle);
	   return rmdir($dirName);
	}


10、生成随机文件名
/**
	 +----------------------------------------------------------
	 * 創建文件名
	 +----------------------------------------------------------
	 * @access private
	 * @return filename
	 +----------------------------------------------------------
	 */
	public function generalFileName()
	{
		$now = microtime_format();
		return date('YmdHis', $now[0]) . $now[1];
	}


11、验证文件类型

/**
	 +----------------------------------------------------------
	 * 驗證文件類型
	 +----------------------------------------------------------
	 * @access private
	 * @param  fileType string 文件後綴
	 * @return boolean
	 +----------------------------------------------------------
	 */
	public function checkFileType($fileType, $allowType)
	{
		return in_array(strtolower($fileType), $allowType);
	}


12、解压缩压缩包
/**
	 +----------------------------------------------------------
	 * 解压缩zip包
	 +----------------------------------------------------------
	 * @access public
	 * @return boolean
	 +----------------------------------------------------------
	 */
	private function unzip($path)
	{
		$zip = new ZipArchive();
		if ($zip->open($path) === FALSE)  return FALSE;
		$zip->extractTo(substr($path, 0, -4));
	    $zip->close();
	    return TRUE;
	}


/**
	 +----------------------------------------------------------
	 * 解压缩zip包 linux 命令
	 +----------------------------------------------------------
	 * @access public
	 * @return boolean
	 +----------------------------------------------------------
	 */
	private function unzip_linux($path)
	{
		$target = substr($path, 0, strlen($path)-4);
		exec("unzip -o $path -d $target");
		return TRUE;
	}


13、创建压缩包
/**
     +----------------------------------------------------------
     * 生成压缩包
     +----------------------------------------------------------
	 * @access public
	 * @return boolean
     +----------------------------------------------------------
     */
	private function createZip($dirName)
	{
		$zip = new ZipArchive();
		$filename = $dirName . ".zip";
		if(file_exists($filename)) unlink($filename);
		if (!$zip->open($filename, ZIPARCHIVE::CREATE))	
			return "create zip file failed";
		$fileArr = $this->recursiveFiles($dirName);
		foreach ($fileArr as $key => $value) {
			$zip->addFile($value['path'], $value['parentFolder'] . $value['fileName']);
		}
		$zip->close();  
		return TRUE;
	}
	
	/**
     +----------------------------------------------------------
     * 通过linux命令生成压缩包
     +----------------------------------------------------------
	 * @access public
	 * @return boolean
     +----------------------------------------------------------
     */
	private function createZip_linux($fileName, $directory, $dirName)
	{
		$zipFile = $fileName . ".zip";
		$currPath = getcwd(); 
		if (!chdir($dirName)) return FALSE;	// 跳转到上传目录
		exec("zip -q -m -r $zipFile *");
		if (!chdir($currPath)) return FALSE;  // 返回项目根目录
		
		// 将生成的zip文件放到上一层目录
		$source = $dirName . '/' . $zipFile;
		$target = C("PAGE_ROOT") . C('ACTIVE_VOLUME') . $directory . $zipFile;
		exec("mv -f $source $target");
		return TRUE;
	}


14、复制文件夹
/**
     +----------------------------------------------------------
     * 复制文件夹
     +----------------------------------------------------------
	 * @access public
	 * @param originalPath 原始文件路径
	 * @param destPath 目标文件路径
	 * @return boolean
     +----------------------------------------------------------
     */
	public function copyFolder($originalPath, $destPath)
	{
		if (is_dir($originalPath)) {
			$fileArray = array();
			D("File")->createDir($destPath); 
			$handle = opendir($originalPath);
			while (false !== ($file = readdir($handle)))	// 循环读取目录中的文件名并赋值给$file
			{
				if ($file != "." && $file != "..")	// 排除当前路径和前一路径
				{
					if (is_dir($originalPath . "/" . $file)) {
						$this->copyFolder($originalPath . "/" . $file, $destPath . "/" . $file); // 获取子目录下的文件
					} else {
						copy($originalPath . "/" . $file, $destPath . "/" . $file);
					}
				}
			}
		} else {
			copy( $originalPath, $destPath );
		}
	}


15、验证EMAIL格式
public function validEmail($email) 
	{
		if ($email) {
		    if(filter_var($email, FILTER_VALIDATE_EMAIL)){
		       return TRUE;
		    }else{
		       return FALSE;
			}
	    } else {
			return FALSE;
		}
	}
分享到:
评论

相关推荐

    php 常用函数收集

    本文将围绕“PHP常用函数收集”这一主题,深入探讨一些常见的、实用的PHP函数,并通过示例来说明它们的用法。 1. **数据类型检查** - `is_null($var)`:检查变量是否为NULL,返回布尔值。 - `gettype($var)`:...

    php常用函数大收集

    "php常用函数大收集"这个资源显然是一份包含了众多PHP基础和实用函数的集合,可能涵盖了数组处理、字符串操作、文件I/O、日期与时间、错误处理等多个方面。下面我们将深入探讨一些常见的PHP函数及其应用场景。 1. *...

    25套收集开发常用PHP函数和类.rar

    "25套收集开发常用PHP函数和类.rar"这个压缩包文件显然是一个集合,里面包含了25个不同的PHP函数或类库,旨在解决开发者在日常工作中常见的问题。下面,我们将详细探讨PHP函数和类的基本概念、重要性以及一些常见的...

    25套收集开发常用PHP函数和类

    本文将详述“25套收集开发常用PHP函数和类”这个资源包中所涵盖的关键知识点,帮助开发者提升PHP编程技能。 首先,PHP函数是预定义的代码块,可以接受参数并返回值。它们是PHP编程的基础,极大地提高了代码的重用性...

    PHP中的一些常用函数收集

    在本文中,我们将详细介绍PHP中一些常用函数的使用方法和特点。这些函数主要涵盖了时间日期处理、输出打印、字符串操作和数组处理等领域。掌握这些函数能够帮助开发者在日常编程中提高效率和减少重复工作。 时间...

    几百个常用的 API 函数的简介

    "几百个常用的 API 函数的简介" 这个主题涵盖了广泛的编程领域,从操作系统级的系统调用到特定库提供的功能。 Winapi.hlp 文件很可能是一个Windows API 的帮助文档,其中包含了大量关于如何使用Windows操作系统服务...

    PHP常用工具类方法(珍藏版收集)

    本珍藏版收集了一些PHP开发者在日常工作中经常会用到的工具类方法,旨在提高代码的复用性和开发效率。 一、字符串操作 1. `str_replace`:这个函数用于在字符串中替换指定的字符或子串。例如,`str_replace('old', ...

    php100源码汇总

    汇总内容包括: ...6,php常用函数合集 7,PHP一个日历类,超经典 8,上传之后自动生成缩略图 9,一个精典的php验证码 10,105个实例广告类js代码 11,2套商业源码 希望以上源码实例能对学习php的朋友有所帮助。

    转-20个常用的PHP源代码收集

    1. **可阅读随机字符串**:这个函数`readable_random_string`生成一个可读性强的随机字符串,适合用于创建密码或验证码。它通过混合使用辅音和元音字母来构造类似单词的字符串。输入参数`$length`定义了字符串的长度...

    史上最全PHP5基础精讲教程

    PHP最常用的ini函数.doc PHP正则表达式.doc PHP的CURL库简单和有效地抓网页.doc PHP的文件与目录操作.doc PHP的目录操作和文件操作.doc PHP网站开发编程中的特殊符号处理.doc PHP网站程序乱码问题解决方法.doc PHP...

    php中函数禁用绕过的原理与利用1

    首先,当我们拿到一个Webshell时,可能会遇到`disable_functions`已经禁用了像`scandir`这样的常用函数。在这种情况下,了解服务器的配置信息至关重要。`phpinfo()`函数可以帮助我们获取PHP的版本信息、`DOCUMENT_...

    php常用文件操作函数汇总

    本文实例分析了php常用文件操作函数。分享给大家供大家参考。具体方法如下: 这里搜集了大量的php中文件操作函数如有文件打开,创建,删除,更变组,读取写文件,文件上传以及打开远程文件,把内容写入文件等实例. 复制...

    20个常用的PHP源代码收集.docx

    标题中的“20个常用的PHP源代码收集.docx”指的是一个文档,包含了20段实用的PHP源代码,这些代码可以用于不同的编程场景。描述部分未给出具体信息,但我们可以根据标签“cs”(通常代表计算机科学或相关领域)推测...

    PHP常用函数之base64图片上传功能详解

    - **PHP函数**: - `upload_image`函数:接收Base64编码数据,检查是否符合数据格式,并进行处理。 - 正则表达式处理:`preg_match`用于匹配Base64编码的图片字符串,确保其格式正确,并提取编码后的数据。 #### ...

    php常用工具安装包汇总.zip

    这个"php常用工具安装包汇总.zip"压缩包集合了多种PHP开发中常用的工具,涵盖了从编辑器、调试器到性能分析等多个方面。以下是这些工具的详细介绍: 1. **编辑器与IDE** - **PhpStorm**:JetBrains公司开发的一款...

    20个常用的PHP源代码收集.pdf

    【PHP源代码收集】 在PHP编程中,有几种常见的代码片段可以帮助开发者实现特定的功能。以下是一些实用的PHP源代码示例,适用于不同的场景。 1. **可阅读随机字符串生成**: 这段代码(readable_random_string())...

    收集的PHP中与数组相关的函数

    一开始我对PHP函数的丰富功能很兴奋,随着对越来越多近乎变态多的函数接触之后,突然联想到了ASP内置函数的稀少,要完成某项特殊功能,常须自定义函数,随着应用的在增多,自己居然也有了一套常用的函数库。...

    公司面试题之-腾讯PHP工程师笔试题.doc

    ereg、preg_match、ereg_replace、preg_replace 是 PHP 中四个常用的正则表达式函数。ereg 函数使用 POSIX 风格的正则表达式,而 preg_match 函数使用 Perl 风格的正则表达式。ereg 函数已经废弃,不推荐使用。preg_...

    PHP教学大纲(PHP程序的设计教学大纲)(PHP动态网站教学大纲).pdf

    - 掌握数组的创建、遍历和常用数组函数,如foreach、array函数等。 - 高级技巧包括复杂数组遍历和数组操作函数的应用。 6. PHP的数据采集: - 了解浏览器端数据提交方式(GET、POST)及其区别。 - 学习如何使用...

Global site tag (gtag.js) - Google Analytics