邢栋博客

邢栋博客,Action博客,记录工作和生活中的点点滴滴

php实现字符串翻转(包含中文汉字)
<?php  
    //php实现字符串翻转,包含中文汉字
    //substr() 函数返回字符串的一部分。substr(string,start,length)
    //ord() 函数返回字符串第一个字符的 ASCII 值。
    //join() 函数把数组元素组合为一个字符串。
    //array_reverse() 函数将原数组中的元素顺序翻转,创建新的数组并返回。
	
function turnstr($str) { 
	$len = strlen($str);  // 计算字符串的长度 
	for($i=0;$i<$len;$i++) {  
		$char = $str[0];
		if(ord($char)>127){ 
           	$i++;  
			if($i<$len){ 			   
				$arr[] = substr($str, 0, 2); 			   
				$str = substr($str, 2); 				
			} 	   
		}else{         
			$arr[] = $char; 	   
			$str = substr($str, 1); 
       }
	} 
   return join(array_reverse($arr));  
}
$str = 'xingdong 前后端';
echo turnstr($str);
?>

以上只适用于gbk编码,如果是utf-8编码,把 
$i++; 
if($i<$len){ 
    $arr[] = substr($str, 0, 2);
    $str = substr($str, 2); 
}
替换成 
$c_len = (is_utf8)?2:1; 
$i += $c_len;
if($i < $len){ 
    $arr[] = substr($str, 0, $c_len+1); 
    $str = substr($str, $c_len+1);
}

 

php遍历文件夹下的文件及计算出其所占的磁盘空间
<?php
    /*
        php遍历文件夹下的所有文件及其子文件夹下所有的文件并计算出其所占的磁盘空间
    */	
    function dir_size($dir){
	$dh = @opendir($dir);   		  //打开目录,返回一个目录流
	$size = 0;      //初始大小为0 
	    while($file = @readdir($dh)){     //循环读取目录下的文件
	       if($file!='.' and $file!='..'){
	        $path = $dir.'/'.$file;   	//设置目录,用于含有子目录的情况
	        if(is_dir($path)){
		    echo $path.'<br>';
		    $size += dir_size($path);  //递归调用,计算目录大小
		}elseif(is_file($path)){
		    echo $file.'&nbsp;'.filesize($path).'字节<br>';
		    $size += filesize($path);   //计算文件大小
		}
	    } 
	    }	
	    @closedir($dh);   		    //关闭目录流
	    return $size;     		    //返回大小
	}	
	$dir = '.';
	$dir_size = dir_size($dir);
	echo '总大小'.$dir_size.'字节';
?>

 


优惠券
广告位-淘宝
最新微语