【问题标题】:When using PHP copy or rename commands should the src and dest paths be absolute or relative?使用 PHP 复制或重命名命令时,src 和 dest 路径应该是绝对路径还是相对路径?
【发布时间】:2017-02-04 09:29:10
【问题描述】:

我的文件结构如下所示:

Folder_1

  Folder_2

    phpfile1.php

  Folder_3

    Folder_4

       random_pic.jpg

    Folder_5.

如果我想将 randompic.jpg 从文件夹 4 复制/移动到文件夹 5,src 和 dest 路径应该是什么?

我试过了:

  • 我认为这就是绝对路径的样子。

    copy("/var/a/b/c/Folder_3/Folder_4/random_pic.jpg", "/var/a/b/c/Folder_3/Folder_5/random_pic.jpg") ;
    
  • 相对于它的最后一个位置,src 相对于脚本所在的位置,dest 相对于 src。

    copy("../Folder_3/Folder_4/random_pic.jpg", "../Folder_5/random_pic.jpg");
    
  • 相对于 php 脚本所在位置的 src 和 dest 路径。

    copy("../Folder_3/Folder_4/random_pic.jpg", "../Folder_3/Folder_5/random_pic.jpg");
    

所有 3 个返回 PHP 警告...打开流失败...中没有这样的文件或目录...

【问题讨论】:

  • 这是您的选择。 “相对”更便携,“绝对”对于某些事情更安全。没有办法给出一个正确/错误的答案。这对你来说是最好的。
  • 您知道为什么我尝试的 3 个选项不起作用吗?我是否误解了绝对路径和相对路径是什么?
  • @cybera:第一个选项缺少前导斜杠。
  • 我的错,我的代码中实际上有前导斜杠,以防万一,再次尝试,仍然是相同的结果。
  • 我建议检查目录权限。

标签: php copy rename


【解决方案1】:

您应该始终只使用绝对路径。您可以在此处了解原因和方法:PHP - Failed to open stream : No such file or directory

【讨论】:

    猜你喜欢
    • 2015-11-13
    • 2011-11-25
    • 2019-09-09
    • 1970-01-01
    • 2018-09-17
    • 2014-03-09
    • 2011-10-16
    • 2012-08-24
    • 2011-09-29
    相关资源
    最近更新 更多