- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试运行以下代码:
is_dir('~/tmp');
在共享的 LAMP 堆栈上。它工作正常,并返回 TRUE。 (该目录存在。)当我在我的本地机器(Mac OSX 10.5,运行 Zend Server Community Ed)上运行相同的代码时,我得到 FALSE,这是错误的,因为 ~/tmp 存在并且权限设置为 777。
我想我在某处缺少服务器指令。
我已经检查过 phpInfo 并且我有(本地和生产):
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
open_basedir no value no value
所以我认为我遗漏了什么,但是什么?
[编辑...] 更多信息...
在本地运行以下命令
get_current_user()
给我“用户名”,这是我要验证其 ~/tmp 目录的正确用户,但是
shell_exec('whoami')
给我“守护进程”。所以我想我知道我的问题出在哪里。现在我只需要弄清楚是否/如何更改在本地运行 Web 服务器的用户。
最佳答案
您希望 ~
扩展到您的主目录吗?我不愿意依赖 PHP 内部的那个。 (刚刚在我的 Mac 上测试过,并没有展开。)
如果可能,请尝试将 ~/tmp
更改为完整路径名(例如,/Users/meriial/tmp
)。
更新:或者,您可以将 ~
替换为 $_ENV['HOME']
,如下所示:
is_dir($_ENV['HOME'] . '/tmp');
理想情况下,您应该首先检查 array_key_exists('HOME',$_ENV)
是否返回 TRUE
并采取一些适当的措施(例如使用系统临时目录)如果它没有。
就此而言,正如@xmarcos 指出的那样,您可以只使用系统临时目录,而不管使用 sys_get_temp_dir()
和 tempnam()
。这可能是最便携的,因此是您的最佳选择。我认为您也可以通过这种方式创建原子临时文件,因此它可能更安全并且更不容易出现竞争条件。
关于php - 使用 php is_dir ('~/tmp' ) 在一台机器上工作,但在另一台机器上不工作。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7942703/
我在迭代某个目录中的所有文件时使用 is_dir 时遇到问题。代码有点小,所以我想如果我发布它你会更好地理解我的意思: $files = array(); if ($dir = @opendir(
我正在尝试开发一个 PHP MySQL 网站,其中需要 is_dir 函数,主文件夹中存在“安装”文件夹,然后转到安装文件夹(如果为 true)或继续该网站(如果错误)。 if(is_dir(
我正在尝试创建一个函数来扫描文件夹中的子文件夹,然后返回一个包含这些文件夹名称的数字数组。 这是我用来测试的代码。一旦我得到它打印出文件夹名称而不仅仅是“。”和“..” for present和上面的
我想遍历一个目录并回显所有文件夹。但是,foreach 循环只是回显出来。和.. $dir = 'content/'; $handle = scandir($dir); foreach ($handl
我正在测试目录处理功能。我有一个包含以下内容的折叠/目录: 0 个文件夹 假文件夹 我的图片文件夹 MVI_3094 动画文件 img01 jpeg 图片 等... 我写了如下代码遍历目录并打印出具体
在工作中,我继承了一个具有文件上传过程的 Web 应用程序。此过程的一部分偶尔(每两周左右一次)会触发以下错误: PHP Warning: mkdir(): File exists in {{{fi
is_dir() 函数在我的 linux 系统中不起作用。目录如下: /变量 /万维网 /html - 测试.php /代码 is_dir("/var/www/html") 返回真。但是 is_dir
我尝试使用 is_dir 函数,但即使该目录确实存在,它也总是返回 false。我是一个非常新的 Linux 用户(xubuntu),我在这里读到类似的问题,问题可能是目录权限。我尝试过使用: sud
我想循环浏览文件夹中的图像和缩略图,并将它们插入数据库。我想使用 is_dir 来过滤目录。 我有: $images = scandir('./images/all_comics/'); $thumb
我有这个功能: if (is_dir($dir)) { //are we able to open it? if ($dh = opendir($dir)) {
为什么 is_dir() 即使是目录也返回 false? 没有返回错误 $path_mysql = '/var/lib/mysql/'; if(!is_dir($path_mysql)){ e
我已在 Windows 资源管理器中将我的 Z: 驱动器映射到网络上另一台服务器上的文件共享。我可以在那里访问文件和读/写。 当我尝试从 PHP 执行 mkdir() 时,出现“没有这样的文件或目录”
我正在使用 scandir() 检查目录文件,它可以正常使用来自根目录的路径,例如/dir1/dir2/....(dir1 不在我的 .php 文件后面,它是根目录中的一个文件夹) 但是当在同一路径上
我目前的目录结构如下: C:\xampp\htdocs\PHP_Upload_Image_MKDIR 换句话说,下面的目录根本不存在。 C:\xampp\htdocs\PHP_Upload_Image
如果目录不存在,我想创建一个目录。 使用 is_dir 函数是否足以达到此目的? if ( !is_dir( $dir ) ) { mkdir( $dir ); } 或者我应该将
我有一个映射到驱动器盘符 X:\的网络驱动器,它连接到路径为“\\X-Drive\Public\Data”的外部硬盘驱动器。 我正在使用带 Apache 的 Zend Server。 我的 PHP 命
关于带有特殊字符的 is_dir,我有一个奇怪的行为:äöüàéè。 如果先写入特殊字符(例如 'à tést'、'école wat'),则代码可以正常工作(检测文件夹)。 但是如果除了特殊字符之外
我一直在为一个奇怪的问题而烦恼...据我所知,is_file() 在检查特定文件时导致段错误: if( is_file('/path/to/file.php') ){ exit 'ok'; }
PHP 的 is_dir() 的 C++ 等价物是什么? http://www.php.net/manual/en/function.is-dir.php bool is_dir ( string $
编辑:这不是 open_basedir restriction in effect. File(/) is not within the allowed path(s): 的副本.这个问题与 PHP
我是一名优秀的程序员,十分优秀!