PHP其他乱码问题和dirname(__FILE__)

代码:<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<?php

$a=`dir C:`;  //注意:此处是键盘1左边的那个键符,用于输出C盘的信息
echo $a;

?>
<body></body>
</html>

现象:运行后所有的中文字符都显示为乱码,但在查看源文件中显示正常

解决:将<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
中的 utf-8 改为 gb2312 显示正常。出现乱码时不防更改下浏览器的编码模式看能否正常,如果正常,则更改网页为相应编码方式。
或者修改PHP代码如下:
<?php

$a=`dir C:`;

$b=mb_convert_encoding($a,'utf8','gb2312');

echo $b;

?>
在输出前转换编码也可以解决此问题。
 

关于__FILE__ :(注意:此处是两个下划线,初学者很容易看错,导致 Use of undefined constant _FILE_ - assumed '_FILE_'错误,并出现乱码。)

解释:文件的完整路径和文件名(包含后缀名)。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。

string dirname ( string path )


解释:给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名(包含后缀名)后的目录名。

注意:在 Windows 中,斜线(/)和反斜线(/)都可以用作目录分隔符。在其它环境下是斜线(/)。

如果将dirname进行嵌套使用呢?

dirname(dirname(__FILE__));
假设__FILE__为 /wwwHome/web/config/config.php
上面的方法输出为 /wwwHome/web
dirname(dirname(__FILE__));得到的是文件上一层目录名
dirname(__FILE__);得到的是文件所在层目录名

总结:大家都知道在DOS下输入dir后会列出文件夹列表和文件列表,那么在dirname函数中参数如果为文件夹名称时,也会同样进行处理.也就是说,如果要得到本级目录的上级目录都可以使用此函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值