在定义目录时,在结尾处有/没有'/'之间有什么区别?

时间:2013-10-01 08:18:49

标签: php coding-style directory standards opendir

在PHP中引用目录时,例如在下面的代码中。

index.php

if ($handle = opendir('/path/to/images/directory')) {

    while (false !== ($fileName = readdir($handle))) {

        ...

    }

    closedir($handle);
}

我们可以假设的设置如下。以下表示[directory],所有代码都在index.php文件中,我们希望迭代的imeages /文件位于[images]目录中。

-[css]
-[js]
-[inc]
-[images]
-index.php

特别是opendir('/path/to/images/directory')) {行,引用该目录的最佳做法是什么?

最后是否有一个尾随/,因为它是一个目录或者是不必要的? 它应该是相对的吗? Absoulte? 我们可以使用SERVER_VARIABLES吗?

1 个答案:

答案 0 :(得分:2)

对于实际/绝对惯例我建议相对,但也许只是我。 它可以让您的代码更容易重新定位。

然后,好奇地,我检查了php源代码,并且opendir包含了各种c函数,其中一个是

php_check_open_basedir

 313                 while (ptr && *ptr) {
 314                         end = strchr(ptr, DEFAULT_DIR_SEPARATOR);
 315                         if (end != NULL) {
 316                                 *end = '\0';
 317                                 end++;
 318                         }
 319 
 320                         if (php_check_specific_open_basedir(ptr, path TSRMLS_CC) == 0) {
 321                                 efree(pathbuf);
 322                                 return 0;
 323                         }
 324 
 325                         ptr = end;
 326                 }

所以基本上它在你的路径中循环从一个DEFAULT_DIR_SEPARATOR跳到另一个。 所以我想,越少越好。

同时阅读您的代码,但也许只是我的口味: 使用$ dir。“/”。$ filename看起来比$ dir更好。$ filename

无论如何,我猜不会有真正的世界差异。