当前位置:  编程技术>php
本页文章导读:
    ▪PHP取得某年某月的天数的实例代码      例子,PHP获取某年某月的天数的函数。 代码:   代码示例: <?php /* * file name: get_day.php * 功能描述:获取某年某月的天数 * by www. */ //$date = '2013/5'; function get_day( $date )   {     $tem = e.........
    ▪PHP函数ip2long()实现IP转换成整型时出现负数的解决方法      在php编程中,将IP转换成整型的函数ip2long()容易出现一个问题:在IP比较大的情况下,会变成负数。 例如:   代码示例: <?php $ip = "192.168.1.2"; $ip_n = ip2long($ip); echo $ip_n; //得到 -1062731518 .........
    ▪分享:PHP遍历文件的4种方法      本节来学习php中遍历文件的4种方法。 方法1,常规遍历方法 常规遍历方法是结合使用opendir()函数和readdir()函数,通过打开目录,读取目录和关闭目录,逐一判断列出所有的文件。 笨重的方.........

[1]PHP取得某年某月的天数的实例代码
    来源: 互联网  发布时间: 2013-12-24

例子,PHP获取某年某月的天数的函数。

代码:
 

代码示例:

<?php
/*
* file name: get_day.php
* 功能描述:获取某年某月的天数
* by www.
*/

//$date = '2013/5';

function get_day( $date )  
{
    $tem = explode()('/' , $date); //切割日期  得到年份和月份
    $year = $tem['0'];
    $month = $tem['1'];
    if( in_array($month , array( 1 , 3 , 5 , 7 , 8 , 01 , 03 , 05 , 07 , 08 , 10 , 12)))
    {
        $text = $year.'年的'.$month.'月有31天';
    }
    elseif( $month == 2 )
    {
        if ( $year%400 == 0  || ($year%4 == 0 && $year%100 !== 0) )//判断是否是闰年
        {
            $text = $year.'年的'.$month.'月有29天';
        }
        else{
            $text = $year.'年的'.$month.'月有28天';
        }
    }
    else{

        $text = $year.'年的'.$month.'月有30天';
    }
    return $text;
}

echo get_day('2013/2');
?>


    
[2]PHP函数ip2long()实现IP转换成整型时出现负数的解决方法
    来源: 互联网  发布时间: 2013-12-24

在php编程中,将IP转换成整型的函数ip2long()容易出现一个问题:在IP比较大的情况下,会变成负数。

例如:
 

代码示例:
<?php
$ip = "192.168.1.2";
$ip_n = ip2long($ip);
echo $ip_n; //得到 -1062731518
?>

原因:
IP转换成的整型值太大超出了整型的范围,所以变成负数。

需要做如下的修改,修改为$ip_n = bindec(decbin(ip2long($ip)))即可得到无符号的整型数。

例如:
 

代码示例:
<?php
$ip = "192.168.1.2";
$ip_n = bindec(decbin(ip2long($ip)));
//by www.
echo $ip_n; //得到 3232235778
?>

    
[3]分享:PHP遍历文件的4种方法
    来源: 互联网  发布时间: 2013-12-24

本节来学习php中遍历文件的4种方法。

方法1,常规遍历方法
常规遍历方法是结合使用opendir()函数和readdir()函数,通过打开目录,读取目录和关闭目录,逐一判断列出所有的文件。
笨重的方法,不推荐。

例子:
 

代码示例:

<?php
/**
* 获取当前目录及子目录下的所有文件
* @param string $dir 路径名
* @return array 所有文件的路径数组
*/
function get_files1($dir) {
$files = array();

if(!is_dir($dir)) {
return $files;
}

$handle = opendir($dir);
if($handle) {
while(false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..') {
$filename = $dir . "/" . $file;
if(is_file($filename)) {
$files[] = $filename;
}else {
$files = array_merge($files, get_files($filename));
}
}
} // end while
closedir($handle);
}
return $files;
} // end function

方法2,使用glob
glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。
不进行缩写扩展或参数替代。
返回一个包含有匹配文件/目录的数组。如果出错返回 FALSE。
此函数不能作用于远程文件,被检查的文件必须通过服务器的文件系统访问。
这个函数用来搜索某个目录下的文件,堪称神器。

例子:
 

代码示例:

<?PHP
/**
* 获取当前目录下的所有文件
* @param string $dir 路径名
* @return array 所有文件的路径数组
*/
function get_files($dir) {
$dir = realpath($dir) . "/";
$files = array();

if (!is_dir($dir)) {
return $files;
}

$pattern = $dir . "*";
$file_arr = glob($pattern);

foreach ($file_arr as $file) {
if (is_dir($file)) {
$temp = get_files($file);

if (is_array($temp)) {
$files = array_merge($files, $temp);
}
}else {
$files[] = $file;
} // end if
}
return $files;
} // end function
?>

方法3,使用directory 类
仿冒面向对象的机制来读取一个目录。
dir() 函数打开一个目录句柄,并返回一个对象。这个对象包含三个方法:read() , rewind() 以及 close()。并且有两个属性可用。handle 属性可以用在其它目录函数例如 readdir(),rewinddir() 和 closedir() 中。path 属性被设为被打开的目录路径。
若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 “@” 来隐藏 error 的输出。
注意: read 方法返回的目录项的顺序依赖于系统。
注意: 本函数定义了内部类 Directory,意味着不能再用同样的名字定义用户自己的类。

例子:
 

代码示例:

<?php
/**
* 递归显示当前指定目录下所有文件
* 使用dir函数
* @param string $dir 目录地址
* @return array $files 文件列表
* @site www.
*/
function get_files($dir) {
$files = array();

if (!is_dir($dir)) {
return $files;
}

$d = dir($dir);
while (false !== ($file = $d->read())) {
if ($file != '.' && $file != '..') {
$filename = $dir . "/" . $file;

if(is_file($filename)) {
$files[] = $filename;
}else {
$files = array_merge($files, get_files($filename));
}
}
}
$d->close();
return $files;
}

方法4,使用RecursiveDirectoryIterator类
此方法自PHP 5.0有效

例子:
 

代码示例:

<?php
/**
* 使用RecursiveDirectoryIterator遍历文件,列出所有文件路径
* @param RecursiveDirectoryIterator $dir 指定了目录的RecursiveDirectoryIterator实例
* @return array $files 文件列表
*/
function get_files($dir) {
$files = array();

for (; $dir->valid(); $dir->next()) {
if ($dir->isDir() && !$dir->isDot()) {
if ($dir->haschildren()) {
$files = array_merge($files, get_files($dir->getChildren()));
};
}else if($dir->isFile()){
$files[] = $dir->getPathName();
}
}
return $files;
}

$path = "/var/www";
$dir = new RecursiveDirectoryIterator($path);
print_r(get_files($dir));


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
php iis7站长之家
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3