Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:无法查看上载目录_Php_Cakephp - Fatal编程技术网

PHP:无法查看上载目录

PHP:无法查看上载目录,php,cakephp,Php,Cakephp,我已经挣扎了几天,试图找出为什么我不能将文件(move\u uploads\u file)从临时文件移动到我设置的目录(/img/uploads/photos) 经过大量的测试和努力,我决定将上传函数中发生的任何事情写入CakePHP的CakeLog 虽然我已经实际创建了:/img/uploads/photos,但当我使用CakeLog::write('debug','directory exists?'):'.json_encode(文件存在('/img/uploads/photos/')它记

我已经挣扎了几天,试图找出为什么我不能将文件(
move\u uploads\u file
)从临时文件移动到我设置的目录(
/img/uploads/photos

经过大量的测试和努力,我决定将上传函数中发生的任何事情写入CakePHP的CakeLog

虽然我已经实际创建了:
/img/uploads/photos
,但当我使用
CakeLog::write('debug','directory exists?'):'.json_encode(文件存在('/img/uploads/photos/')它记录
false
。或者
is_dir
,也返回
false


为什么会这样。。。有人能帮我吗

我不相信你说你已经创建了
/img/uploads/photos/
目录。这是一条绝对路径,从机器的根开始计数。更有可能是您在某个地方的web目录中创建了该文件夹(例如
/var/www/img/uploads/photos/
/home/caboone/public\u html/img/uploads/photos/
)。

我不相信您说您创建了
/img/uploads/photos/
目录。这是一条绝对路径,从机器的根开始计数。更有可能是您在某个地方的web目录中创建了文件夹(例如
/var/www/img/uploads/photos/
/home/caboone/public\u html/img/uploads/photos/
)。

我怀疑您是否创建了目录
/img/uploads/photos/
?它可能与您的其他文件位于同一目录中,例如
/var/www/yoursite/img/uploads/photos/
或类似的地方


您可以使用一些技巧,如
$\u SERVER{'DOCUMENT\u ROOT'}
,您可以在上看到,我怀疑您是否制作了目录
/img/uploads/photos/
?它可能与您的其他文件位于同一目录中,例如
/var/www/yoursite/img/uploads/photos/
或类似的地方


您可以使用一些技巧,如
$\u SERVER{'DOCUMENT\u ROOT'}
,正如您在上所看到的,路径
/img/…
意味着路径是相对于磁盘根的,即它表示硬盘最顶层的
img
目录。我怀疑那是目录所在的地方。不要以
/
开头路径,使其与您正在使用的文件相关。文件路径不是URL

路径
/img/…
表示该路径相对于磁盘根目录,即它表示硬盘最顶层的
img
目录。我怀疑那是目录所在的地方。不要以
/
开头路径,使其与您正在使用的文件相关。文件路径不是URL

  • 将文件从一个目录移动到另一个目录时使用绝对路径。 使用
    dirname(\uuuu FILE\uuuu)
    获取当前工作目录的绝对值,然后添加 这条路的其余部分
  • 按照@Alex的建议,为目录设置适当的权限。使用
    chmod()
    和 将权限设置为777(ugo+w)[用户+组+其他世界可写]
  • 将文件从一个目录移动到另一个目录时使用绝对路径。 使用
    dirname(\uuuu FILE\uuuu)
    获取当前工作目录的绝对值,然后添加 这条路的其余部分
  • 按照@Alex的建议,为目录设置适当的权限。使用
    chmod()
    和 将权限设置为777(ugo+w)[用户+组+其他世界可写]

  • 目录的权限必须确保运行web服务器的用户可以写入该目录。在将文件从一个目录移动到另一个目录时,也要使用绝对路径。使用
    dirname(\uuuuu FILE\uuuuu)
    获取当前工作目录,然后添加路径的其余部分。目录的权限必须确保运行web服务器的用户可以写入该目录。将文件从一个目录移动到另一个目录时,也要使用绝对路径。使用
    dirname(\uuuu FILE\uuuu)
    获取当前工作目录,然后添加路径的其余部分。没有“磁盘根”这样的东西。它是机器的根目录(或者更具体地说:操作系统的根目录)。磁盘可以安装在目录结构中的任何位置。我知道您试图以一种新手友好的方式解释它,但对于POSIX系统来说,这是非常不准确的。如果您挑剔的话,文件系统根目录是:)没有所谓的“磁盘根”。它是机器的根目录(或者更具体地说:操作系统的根目录)。磁盘可以安装在目录结构中的任何位置。我知道您试图以一种新手友好的方式解释它,但对于POSIX系统来说,这是非常不准确的。如果您挑剔的话,文件系统根目录是:)是 啊我忘了。我不得不使用
    $\u服务器['DOCUMENT\u ROOT']
    是的。。。我忘了。我不得不使用
    $\u服务器['DOCUMENT\u ROOT']