2

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

index.php

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

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

        ...

    }

    closedir($handle);
}

我们可以假设的设置如下。以下表示 a [directory],所有代码都在index.php文件中,我们希望遍历的图像/文件在[images]目录中。

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

具体来说opendir('/path/to/images/directory')) {引用该目录的最佳实践是什么?

最后应该有一个尾随/,因为它是一个目录还是不必要的?应该是相对的吗?绝对?我们可以SERVER_VARIABLES改用吗?

4

1 回答 1

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 跳转到另一个。所以我想,你拥有的越少越好。

还阅读您的代码,但也许只是我的口味: USing $dir."/".$filename 看起来比 $dir.$filename 更好

无论如何,我想没有现实世界的差异。

于 2013-10-01T21:24:02.707 回答