代码:<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函数中参数如果为文件夹名称时,也会同样进行处理.也就是说,如果要得到本级目录的上级目录都可以使用此函数