Scandir() 与 getParameter Symfony 2
Scandir() with getParameter Symfony 2
我正在使用 Wampserver2.2、Symfony 2.5 和 Php 5.3.13,我创建了一个文件浏览器。
要扫描我的目录,我实际上是在我的 DefaultController 中的 showAction() 中执行的:
效果很好!
$dir = \\servername\Dossiers Projet\Path\to\Directory
$clients = scandir($dir);
我想在我的 config.yml 中设置路径目录参数:
parameters:
chemin_clients: \\servername\Dossier Projets\Path\to\Directory
我也测试过:
parameters:
chemin_clients: '\\servername\Dossier Projets\Path\to\Directory'
以及新的 showAction() :
$dir = $this->container->getParameter('chemin_clients');
$clients = scandir($dir);
var_dump($clients);
var_dump($dir);
return string '\\servername\Dossier Projets\Path\to\Directory'
var_dump($clients);
return 布尔值 FALSE
警告:scandir(\\servername\Dossiers Projet\Path\to\Directory) [function.scandir]:无法打开目录:
中没有这样的文件或目录
我不知道有什么问题..
非常感谢!
scandir()
(以及 opendir()
)函数 returns 失败时为 FALSE - 如果目录不是目录资源,则返回布尔值 FALSE。
问题是由于 Windows 上的 Apache 服务对网络资源(例如共享和管道)的访问权限有限,因为它没有凭据并且必须使用空会话进行连接 - 所以 \\servername\Dossier Projets\Path\to\Directory
路径不是 Apache 服务处理的 PHP 的有效目录资源。
您可以在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
注册表项中设置 NullSessionPipes
和 NullSessionShares
值,这些值用于指定空会话可以连接到的管道和共享,或者您可以将 REG_DWORD 值 RestrictNullSessAccess=0
添加到该键以允许所有空会话访问该机器上创建的所有管道和共享(当然要考虑风险)。
我正在使用 Wampserver2.2、Symfony 2.5 和 Php 5.3.13,我创建了一个文件浏览器。
要扫描我的目录,我实际上是在我的 DefaultController 中的 showAction() 中执行的:
效果很好!
$dir = \\servername\Dossiers Projet\Path\to\Directory
$clients = scandir($dir);
我想在我的 config.yml 中设置路径目录参数:
parameters:
chemin_clients: \\servername\Dossier Projets\Path\to\Directory
我也测试过:
parameters:
chemin_clients: '\\servername\Dossier Projets\Path\to\Directory'
以及新的 showAction() :
$dir = $this->container->getParameter('chemin_clients');
$clients = scandir($dir);
var_dump($clients);
var_dump($dir);
return string '\\servername\Dossier Projets\Path\to\Directory'
var_dump($clients);
return 布尔值 FALSE
警告:scandir(\\servername\Dossiers Projet\Path\to\Directory) [function.scandir]:无法打开目录:
中没有这样的文件或目录我不知道有什么问题.. 非常感谢!
scandir()
(以及 opendir()
)函数 returns 失败时为 FALSE - 如果目录不是目录资源,则返回布尔值 FALSE。
问题是由于 Windows 上的 Apache 服务对网络资源(例如共享和管道)的访问权限有限,因为它没有凭据并且必须使用空会话进行连接 - 所以 \\servername\Dossier Projets\Path\to\Directory
路径不是 Apache 服务处理的 PHP 的有效目录资源。
您可以在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
注册表项中设置 NullSessionPipes
和 NullSessionShares
值,这些值用于指定空会话可以连接到的管道和共享,或者您可以将 REG_DWORD 值 RestrictNullSessAccess=0
添加到该键以允许所有空会话访问该机器上创建的所有管道和共享(当然要考虑风险)。