【问题标题】:Can I change current directory to parent directory using PHP __DIR__ constant?我可以使用 PHP __DIR__ 常量将当前目录更改为父目录吗?
【发布时间】:2015-12-27 11:47:50
【问题描述】:

我正在使用 PHP 魔术常量将上传的文件移动到新位置,上传处理程序文件位置位于主应用程序文件夹内的“_inc”文件中,如下所示:

“路径/tasksapp/_inc/upload_handelr.php”

所以;当我使用__DIR__ 时,我得到了上传处理程序所在的路径:

“路径/tasksapp/_inc/”

而上传文件的新位置应该是:

“路径/tasksapp/上传”

是否有任何选项或属性可以与__DIR__ 常量一起使用,以便我可以将当​​前目录更改为父目录:

改变:

“路径/tasksapp/_inc/”

成为:

“路径/tasksapp/”

【问题讨论】:

  • __DIR__/../uploads/
  • 您在path/tasksapp/ 中是否有包含/需要upload_handler.php 的主文件???
  • @AbraCadaver 不,它是通过 js 的 ajax 上传处理程序文件
  • @AbraCadaver 不工作 '__DIR__/../uploads/' !
  • 应该是__DIR__ . '/../uploads/'。但我是否建议使用单例来存储此配置属性(或类似的东西),这样您的代码就不会关心(甚至不知道!)它的位置以及它与需要移动的文件的关系。

标签: php file-upload path dir magic-constants


【解决方案1】:

我推荐dirname(__DIR__)

  • 它是可移植的(在不允许a/b/../c 的 Windows 上工作)
  • 可读

【讨论】:

  • upload_handelr.php 内部类似$dir=dirname(__DIR__) 会创建一个指向上传目录的变量。附加文件名使用move_uploaded_file()
猜你喜欢
  • 2020-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 2012-10-25
  • 2014-02-03
  • 2019-06-17
  • 2011-09-28
相关资源
最近更新 更多