PHP-常用函数库

时间:2022-11-02 21:19:12

1.时间和日期

<?php

echo time().'<br>';//1425304002   时间戳,1970.1.1以来的毫秒数

echo date('Y-m-d H:i:s').'<br>';//2015-03-02 14:52:30 实际是21点,因时区问题

echo date_default_timezone_get().'<br>';//Europe/Berlin   默认时区

date_default_timezone_set('Asia/Shanghai');//设置时区,Beijing不行

echo date('Y-m-d H:i:s').'<br>';//2015-03-02 21:57:39 现在的时间

echo date('Y-m-d H:i:s','2000').'<br>';//1970-01-01 08:33:20   时间戳转换为日期

2.JSON格式数据的操作

<?php

//JSON format
/*[1,2,5,7,8,'m',[6,7,8],{'h':'hello'}]   数组,可以存放键值对
{'h':'hello','w':'world',[1,2,3]}   键值对,可以存放数组*/

//encode 编码
$arr = array(1,2,5,8,'hello','m',array('h'=>'hello','n'=>'name'));
print_r($arr);//Array ( [0] => 1 [1] => 2 [2] => 5 [3] => 8 [4] => hello [5] => m [6] => Array ( [h] => hello [n] => name ) )
echo '<br>'.json_encode($arr).'<br>';//[1,2,5,8,"hello","m",{"h":"hello","n":"name"}]    把数组转为json格式的数据

$obj = array('h'=>'hello','w'=>'world',array(3,2,1));
echo json_encode($obj).'<br>';//{"h":"hello","w":"world","0":[3,2,1]}   转为json格式的对象

//decode 解码
$jsonStr = '{"h":"hello","w":"world","0":[3,2,1]}';
$o = json_decode($jsonStr);
print_r($o);//stdClass Object ( [h] => hello [w] => world [0] => Array ( [0] => 3 [1] => 2 [2] => 1 ) )    PHP对象
echo '<br>'.$o->h;//hello

3.文件操作

写文件:
<?php

//write date
//$f = fopen('data.txt','w');//文件名,write(写出)
$f = @fopen('data.txt','w');//@ 有警告也不输出

//function fwrite ($handle, $string, $length = null)
if($f){
    fwrite($f,'hello php');
    fclose($f);//关流
    echo 'ok';
}else{
    echo '在MAC下可能出现权限不足的问题';
}
读文件,文件data2.txt
hello php2
第二行

第4行
读文件代码:
<?php

//read date
//一次出一行
$f2 = @fopen('data2.txt','r');//r:read
$content = fgets($f2);

echo '<br>'.$content;//hello php2
echo '<br>'.fgets($f2);//第二行
fclose($f2);

//循环,全出
$f3 = @fopen('data2.txt','r');
while(!feof($f3)){
    echo '<br>'.fgets($f3);//第三行就输出个换行
}
fclose($f3);


//直接获取文件内容
echo '<br>';
echo file_get_contents('data2.txt');//hello php2 第二行 第4行

4.生成图片

<?php

$img = imagecreate(400,300);//宽400,高300

imagepng($img);//Warning: imagepng(): gd-png error: no colors in palette 错误:没颜色

imagecolorallocate($img,255,255,0);//背景色,只执行一次  function imagecolorallocate ($image, $red, $green, $blue)
imagepng($img);//会当作文本输出图片数据*/
正确地生成一张图:
<?php

$img = imagecreate(400,300);
imagecolorallocate($img,255,255,0);
header('Content-type:image/png');
imagepng($img);//IE10测试是下载,用谷歌和火狐内核正常
作图:
<?php

$img = imagecreate(400,300);
imagecolorallocate($img,255,255,0);
header('Content-type:image/png');

//function imageellipse ($image, $cx, $cy, $width, $height, $color)画椭圆
imageellipse($img,200,200,50,50,imagecolorallocate($img,255,0,0));


imagepng($img);

//更多方法:<a target=_blank href="http://php.net/manual/zh/ref.image.php" target="_blank">http://php.net/manual/zh/ref.image.php</a>
PHP-常用函数库

5.图片打水印实例

把上面的图加水印:
<?php

$img = imagecreatefrompng('1.png');//传入png图片

//function imagestring ($image, $font, $x, $y, $string, $color)
//font 内置5个字体:1,2,3,4,5
imagestring($img,5,5,5,'MMMMMMMMM',imagecolorallocate($img,255,0,0));

header('Content-type:image/jpeg');//可以输出别的格式
//imagepng($img);
imagejpeg($img);
PHP-常用函数库