PHP:dirname(__FILE__)
今天在鼓捣淄博信息超市的时候,程序在本地测试没有任何问题,上传至空间之后,就出现不能删除已生成的静态页面的问题。
权限是有的,因为能生成页面,程序也没有问题啊,本地测试一切正常。
思考之后,想到另一个问题,有个客户的网站在底部添加了一个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”;
问题解决。