PHP星期几获取代码:
代码如下 | 复制代码 |
date(“l”); //data就可以获取英文的星期比如Sunday |
获取中文星期几:
代码如下 | 复制代码 |
$weekarray=array(“日”,”一”,”二”,”三”,”四”,”五”,”六”); //先定义一个数组 echo “星期”.$weekarray[date("w")]; |
获取指定日期是:
代码如下 | 复制代码 |
$weekarray=array(“日”,”一”,”二”,”三”,”四”,”五”,”六”); |
PHP函数Date()获取当前时间
代码如下 | 复制代码 |
<?php echo $showtime=date("Y-m-d H:i:s");?> |
输出当前时间:2008-10-12 02:32:17
怪了,实际时间是:2008-10-12 10:32:17
看看PHP手册的“例子 1. date() 例子”第一行多了一个 时区设置
// 设定要用的默认时区。自 PHP 5.1 可用
代码如下 | 复制代码 |
date_default_timezone_set(UTC); |
原来php5.1.开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和北京时间正好差8个小时。
如何设置可以得到正确的PHP时间?
1、修改php.ini。打开php.ini查找date.timezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序
放到别人的服务器上,不能修改php.ini,那就奈何不得了。
2、在程序中添加时间的初始化的语句的 即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置,我的推荐。
时区标识符,大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)还有新加坡:Asia/Singapore
这样就可以实现输出的是北京时间了。
注意:在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到
;extension=php_mbstring.dll把前面的;号去掉,这样mb_substr函数就可以生效了
例子
代码如下 | 复制代码 |
<?php echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8'); echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); |
从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象。
代码如下 | 复制代码 |
|
例如:php.ini文件中包含了以下的设置:
代码如下 | 复制代码 |
register_globals = Off post_max_size = 8M |
PHP部分我们可以这样获取:
代码如下 | 复制代码 |
<?php echo 'display_errors = ' . ini_get('display_errors') . "\n"; echo 'register_globals = ' . ini_get('register_globals') . "\n"; echo 'post_max_size = ' . ini_get('post_max_size') . "\n"; echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n"; echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size')); ?> |
如果想获取整个php.ini里的变量值,我们可以用ini_get的加强函数 ini_get_all()
ini_get_all()函数以数组的形式返回整个php的环境变量
当然如果你只是想了解下php的配置信息用
<?php
phpinfo();
?>
接着向下看
php手册中有一个例子
代码如下 | 复制代码 |
<?php /* Our php.ini contains the following settings: display_errors = On register_globals = Off post_max_size = 8M */ echo ‘display_errors = ‘ . ini_get(’display_errors’) . “\n”; //显示错误是否打开 echo ‘register_globals = ‘ . ini_get(’register_globals’) . “\n”; //全局变量是否打开 echo ‘post_max_size = ‘ . ini_get(’ post_max_size’) . “\n”; //最多能提交的文件大小 echo ‘post_max_size+1 = ‘ . (ini_get(’post_max_size’)+1) . “\n”; ?> |
输出:
display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
PHP配置函数ini_get()主要是为了获取配置文件,可以方便你很多操作。比如你想操作字符串过滤,但是又不清楚magic_quotes_gpc有没有打开,所以你就可以这样写一个函数:
代码如下 | 复制代码 |
/* 字符串过滤函数 */ function stringFilter($str) |
当然,如果你无法知道你的全局变量是否打开,也可以定制这样的函数:
/* 变量检测函数 */
代码如下 | 复制代码 |
function getGetVar($var) { if (ini_set(’register_gobals’)) { return $var; } else { return $_GET['var']; } } |
当然,你可以用PHP配置函数ini_get()做很多用途,自己慢慢体会。
补充
1.ini_get()获取配置参数,ini_set()设置配置参数
代码如下 | 复制代码 |
|
2.ini_get_all()获取所有配置信息
代码如下 | 复制代码 |
|
3.ini_restore()恢复配置信息到原始值
代码如下 | 复制代码 |
<?php echo ini_get('display_errors'); //1 |
偶然做文件移动的时候总结的一个知识点:刚开始的时候,以为跟上传文件一样可以用move_uploaded_file这个函数去移动一个文件,试了之后发现不行,网上搜了一把,发现可以用rename这个函数来实现文件或文件夹的移动,很奇怪,手册上写的是重名文件或文件夹的,没想到可以用来移动文件
关于函数返回值:
bool rename ( string $oldname , string $newname [, resource $context ] )
尝试把 oldname 重命名为 newname,若操作成功则返回True,失败返回False。
1. 对于文件,rename可以在不同盘符之间移动。
2. 对于空文件夹,rename也可以在不同盘符之间移动。但是目标文件夹的父目录必须存在。
3. 对于非空文件夹,只能在同一盘符下移动。
用法如下:
rename("/tmp/www.txt", "/home/my_file.txt");
第一个参数放原地址,第二个参数放目标地址;
网上还有一种方法是用copy+unlink,不过听说移动的速度不怎样,所以也就不说了,用rename就行,简单、方便、快捷
可能习惯用copy,unlink来实现文件的移动,对于大文件,可能会消耗很长时间,但是经测试发现性能不行。
补充:中文文件及文件夹的问题
我们在使用站长工具会发现有一个获取网站http状态信息了,其实这个功能使用php非常的简单的,我们可以使用curl来实现下面来看一些整理的例子。使用curl需要在php.ini中设置启用才行 >< Windows的服务器中,打开php.ini,找到:
extension=php_curl.dll
去掉前面的注释既可 。
实现代码如下:
代码如下 | 复制代码 |
$curl = curl_init(); |
或者直接使用get_headers函数
get_headers — 取得服务器响应一个 HTTP 请求所发送的所有标头
例子
代码如下 | 复制代码 |
<?php |