PHP根文件夹

Jam*_*mes 8 php file root

rename('/images/old_name.jpg', '/images/new_name.jpg');
Run Code Online (Sandbox Code Playgroud)

此代码提供的文件未找到.

调用文件的脚本放在/source/文件夹中.

文件可以从中打开 http://site.com/images/old_name.jpg

如何从root获取这些文件?

Gum*_*mbo 35

rename是一个文件系统函数,需要文件系统路径.但似乎你正在使用URI路径.

您可以使用$_SERVER['DOCUMENT_ROOT']前置文档根目录的路径:

rename($_SERVER['DOCUMENT_ROOT'].'/images/old_name.jpg', $_SERVER['DOCUMENT_ROOT'].'/images/new_name.jpg');
Run Code Online (Sandbox Code Playgroud)

或者为了更灵活,请使用dirname当前文件的路径__FILE__:

rename(dirname(__FILE__).'/images/old_name.jpg', dirname(__FILE__).'/images/new_name.jpg');
Run Code Online (Sandbox Code Playgroud)

或者使用相对路径.当你在/ script文件夹中时,..走一个目录级别:

rename('../images/old_name.jpg', '../images/new_name.jpg');
Run Code Online (Sandbox Code Playgroud)


ada*_*mse 6

在PHP中,root(/)是文件系统的根,而不是"webroot".如果php文件在/source/目录中并且图像在,/source/images/那么这将工作:

rename('images/old_name.jpg', 'images/new_name.jpg');
Run Code Online (Sandbox Code Playgroud)