这有效:
rename("box/". $picture , "box/tmp/". $picture);
这不是:
rename("/box/". $picture , "/box/tmp/". $picture);
导致找不到文件/目录错误。
这可能看起来很卑鄙,但是我的代码存在问题,而这可能是我的另一个问题的根本原因。
由于
答案 0 :(得分:1)
rename
适用于文件系统路径,并且不是基于DOCUMENT_ROOT
,除非您有一个非常奇怪的设置,然后/box
(或Windows系统上的c:\box
)不是即使它存在,即使它确实存在,除非你不顾自己的方式,网络服务器也没有权限写入它。
你可能想要的更像是这样:
rename($_SERVER['DOCUMENT_ROOT'].'/box/' . $picture, $_SERVER['DOCUMENT_ROOT'].'/box/tmp/' . $picture);
答案 1 :(得分:0)
除非你的文件系统根目录下有一个名为“box”的目录,否则你的第二个例子将无效。前导斜杠意味着“在文件系统的根目录。”