日期时间函数
获取时间戳
时间戳是指自1970 01 01 00:00:00到现在这一瞬间的秒数。
- time(): 返回时间戳 秒
- microtime(true): 返回时间戳 微秒
// microtime(true)常用于测试程序运行时间
$start = microtime(true);
for ($i=1; $i<1000; $i++){
$tmp = 1000000/$i;
}
$end = microtime(true);
echo $end-$start;
时间戳格式化
$time = time();
echo date("Y-m-d 星期N h:i:s", $time); // 2019-10-21 星期1 03:27:22
echo "<br>";
echo gmdate("Y-m-d 星期N h:i:s"); // 2019-10-21 星期1 03:27:22
获取某个日期的时间戳
- mktime(): 输入年月日时分秒获取时间戳
- strtotime(): 将任何字符串的日期时间描述解析为时间戳
echo mktime(12,10,10,10,21,2019);
echo "<br>";
echo strtotime("now"); // 此时的时间戳
echo "<br>";
echo strtotime("now +1 day"); // 明天的时间戳
echo "<br>";
echo strtotime("now -1 day"); // 昨天的时间戳
检测日期是否合法
- checkdate(): 检查一些日期是否是有效的日期
// 检测日期是否合法
var_dump(checkdate(2,29,2000)); // boolean true
var_dump(checkdate(2,29,2019)); // boolean false
var_dump(checkdate(6,31,2019)); // boolean false
字符串函数
// 用递归打印当前目录所有文件 用str_repeat() 实现分级
<?php
function fun($path, $lev=1){
$th = opendir($path);
while ( ($file=readdir($th)) !== false){
echo str_repeat(' ', $lev),$file,'<br>';
if ($file == '.' || $file == '..'){
continue;
}
if (is_dir($path.'/'.$file)){
// $path = $path.'/'.$file; // 不懂为啥这样不行
fun($path.'/'.$file, $lev+8);
}
}
}
$path = '.';
fun($path);
目录函数
Directory 函数允许您获得关于目录及其内容的信息。
- opendir() 打开目录句柄。
- readdir() 返回目录句柄中的条目。
- closedir() 关闭目录句柄。
- isset() 函数用于检测变量是否已设置并且非NULL,不属于Directory函数
<?php
$dir = "/images/";
// Open a directory, and read its contents
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
echo "filename:" . $file . "<br>";
}
closedir($dh);
}
}
?>
// 未完成 有的地方不太懂
<?php
$path = "../";
print_r($_SERVER['REQUEST_URI']);
$url = $_SERVER['REQUEST_URI'];
//print_r($path);
if (isset($_GET['dir'])){
$path = $path.'/'.$_GET['dir'];
// print_r($path);
}
$item = array();
if (is_dir($path)) {
if ($th = opendir($path)) {
while ( ($file=readdir($th)) !== false ){
$item[] = $file;
}
closedir($th);
}
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>文件管理系统</title>
<style>
td {
border: 1px solid;
}
</style>
</head>
<body>
<table>
<tr>
<td>序号</td>
<td>文件名</td>
<td>操作</td>
</tr>
<?php
foreach ($item as $key=>$value){
echo '<tr>';
echo '<td>'.$key.'</td>';
echo '<td>'.$value.'</td>';
echo '<td>';
if (is_dir($path.'./'.$value)){
echo "<a href=$url?dir=$value>浏览</a>";
}else{
echo "<a href=$path/$value>查看</a>";
}
echo '</td>';
echo '</tr>';
};
?>
</table>
</body>
</html>