php入门(文件,日期,时间)

<span style="font-family:Microsoft YaHei;font-size:14px;">1.  文件系统
	1.  读取文件
	    $content = file_get_contents('./test.txt');//读取文件的全部内容
            PHP也提供类似于C语言操作文件的方法,使用fopen,fgets,
            fread等方法,fgets可以从文件指针中读取一行,freads可以读
            取指定长度的字符串
    	例如:
		$fp = fopen('./text.txt', 'rb');
		while(!feof($fp)) {
			echo fgets($fp); //读取一行,可使用fread($fp, 4096);每次读4096个字符
		}
		fclose($fp);
	2. 判断文件是否存在
		如果只是判断文件存在,使用file_exists就行,file_exists不仅可以判断文件是否存在,同时也可以判断目录是否存在,从函数名可以看出,is_file是确切的判断给定的路径是否是一个文件
		更加精确的可以使用is_readable与is_writeable在文件是否存在的基础上,判断文件是否可读与可写
	3. 写入文件
		1.最简单的方式是采用file_put_contents。
			$filename = './test.txt';
			$data = 'test';
			file_put_contents($filename, $data);
		2.同样的,PHP也支持类似C语言风格的操作方式,采用fwrite进行文件写入。
			$fp = fopen('./test.txt', 'w');
			fwrite($fp, 'hello');
			fwrite($fp, 'world');
			fclose($fp);
	4. 取得文件的修改时间
		fileowner(file):获得文件的所有者
		filectime(file):获取文件的创建时间
		filemtime(file):获取文件的修改时间
		fileatime(file):获取文件的访问时间
	5. 取得文件的大小
		1. $size = filesize($filename);
		2. 如果要转换文件大小的单位,可以自己定义函数来实现。

		function getsize($size, $format = 'kb') {
			$p = 0;
			if ($format == 'kb') {
				$p = 1;
			} elseif ($format == 'mb') {
				$p = 2;
			} elseif ($format == 'gb') {
				$p = 3;
			}
			$size /= pow(1024, $p);
			return number_format($size, 3); //格式化分组显示函数
		}

		$filename = '/data/webroot/usercode/code/resource/test.txt';
		$size = filesize($filename);

		$size = getsize($size, 'kb'); //进行单位转换
		echo $size.'kb';
		注:如果查看目录的大小,只能递归查找
	6.  删除文件
		unlink($filename);//删除文件
		rmdir($dir);//删除文件夹,必须为空,如果不为空,没有权限
		如果文件夹中存在文件,可以先循环删除目录中的所有文件,然后再删除该目录,循环删除可以使用glob函数遍历所有文件。

		foreach (glob("*") as $filename) {
		   unlink($filename);
		}
2. 时间和日期
 	1. 取得时间的时间戳
		$time = time();
		echo $time;//1396193923,这个数字表示从1970年1月1日 00:00:00 到我输出这个脚本时经历了1396193923秒
	2.  取得日期
		//date函数,第二个参数取默认值的情况
		echo date("Y-m-d");//2014-03-30
		//date函数,第二个参数有值的情况
		echo date("Y-m-d",'1396193923');//2014-03-30,1396193923表示2014-03-30的unix时间戳
	3.  取得日期的Unix时间戳
		echo strtotime('2014-04-29');//1398700800,这个数字表示从1970年1月1日 00:00:00 到2014年4月29号经历了1398700800秒
		echo strtotime('2014-04-29 00:00:01');//1398700801,这个数字表示从1970年1月1日 00:00:00 到2014-04-29 00:00:01时经历了1398700801秒
		大家发现上面的规律了吗,其实strtotime('2014-04-29')相当于strtotime('2014-04-29 00:00:00')
	4.  将格式化的日期字符串转换为Unix时间戳
		echo strtotime("now");//相当于将英文单词now直接等于现在的日期和时间,并把这个日期时间转化为unix时间戳。这个效果跟echo time();一样。
		echo strtotime("+1 seconds");//相当于将现在的日期和时间加上了1秒,并把这个日期时间转化为unix时间戳。这个效果跟echo time()+1;一样。
		echo strtotime("+1 day");//相当于将现在的日期和时间加上了1天。
		echo strtotime("+1 week");//相当于将现在的日期和时间加上了1周。
		echo strtotime("+1 week 3 days 7 hours 5 seconds");//相当于将现在的日期和时间加上了1周3天7小时5秒。
	5. GMT时间
		echo gmdate('Y-m-d H:i:s', time()); //输出为:2014-05-01 07:15:22 因为格林威治时间是现在中国时区的时间减去8个小时,所以相对于现在时间要少8个小时
 </span>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值