PHP:dirname(__FILE__)

作者: 坎肩儿 分类: php代码 发布时间: 2011-01-03 18:30

今天在鼓捣淄博信息超市的时候,程序在本地测试没有任何问题,上传至空间之后,就出现不能删除已生成的静态页面的问题。

权限是有的,因为能生成页面,程序也没有问题啊,本地测试一切正常。

思考之后,想到另一个问题,有个客户的网站在底部添加了一个PHP写的访客统计的小程序,是写入记事本的。当时就出现不能写入的情况,权限没有问题。

网上搜了下,感觉是路径的问题。

进入正题:

php中定义了一个很有用的常数,即

__file__

这个内定常数是当前php程序的完整路径(路径+文件名)。

即使这个文件被其他文件引用(include或require),__file__始终是它所在文件的完整路径,而不是引用它的那个文件的完整路径。

请看下面例子:

/home/data/demo/test/a.php

<?php
$the_full_name=__FILE__;
$the_dir=dirname(__FILE__);
echo $the_full_name; //返回/home/data/demo/test/a.php
echo $the_dir;            //返回/home/data/demo/test
?>

经过测试,确定是路径的问题。

修改:$delFile = “./article/”.$aid.”.html”; 为 $delFile = dirname(__FILE__).”/article/”.$aid.”.html”;

问题解决。