2015-11-14 51 views
1

我已经对这个错误的时间太长,所以我寻找一些帮助从有经验的程序员的服务器。PHP - 没有这样的文件或目录(LAMP服务器)

我正在一个Bitnami LAMP堆栈。我正在尝试使用PHP脚本(maintenance.php)在服务器上移动文件。所以我在脚本中使用rename(filepath, newpath)。但是,PHP脚本即使存在于服务器上也找不到该文件。

解决:问题是,我打电话从两个不同的地方脚本调试时(我的浏览器,我的Linux外壳)。每个这些地方的“工作目录”都不同,所以文件路径代表不同的位置,这取决于我从哪里调用PHP脚本。

+0

离开关开始'/' – ElefantPhace

+0

已经尝试过。 >> 重命名(图片/ CA/Ontario/Waterloo/564409b235bd29.29353255.jpg,存档/ CA/Ontario/Waterloo/564409b235bd29.29353255.jpg):没有这样的文件或目录 – wildebeest

+0

然后用绝对路径 – ElefantPhace

回答

1

没有pictures目录的根所以/pictures不会工作。 相反,您将不得不使用绝对路径到pictures目录。

有多种方法可以做到这一点。

您可以使用$_SERVER['DOCUMENT_ROOT'],这将给你root directory under which the current script is executing

reserved.variables.server

此外,您还可以使用__FILE__这将给你的路径,当前文件。 随着dirname(__FILE__)你可以得到目录,然后你可以使用../水平降低到图片目录。

这也是一个类似的问题,你可以检查,

PHP include absolute path

+0

我现在正在取得进展。我非常困惑,因为我从浏览器运行php脚本以及shell和工作目录各不相同。谢谢你的帮助。 – wildebeest

相关问题