【发布时间】:2012-10-11 23:21:00
【问题描述】:
我正在尝试将图像上传到服务器,从上传的图像创建缩略图,并将相对路径保存到 mysql 数据库。 . . .图片路径是
/mysite/images/
来自我的站点根目录(在我的本地测试环境中是 wamp/www/mysite/images)
现在,我正在执行目录检查
if(!is_dir($path) && !is_writable($path)){
throw new Exception ("$path is not valid .. ");
}
其中路径是 /mysite/images/ ,认为初始的 '/' 将表示根。
但是,脚本抛出了一个异常,提示路径名无效,而我的
move_uploaded_file($tmp_name, $path.$filename)
也没有工作。
PS:路径mysite/images/也报错,文件没有移动
现在,我已经通过手动将文档根附加到路径名来进行目录检查和移动文件,现在看起来像
if(!is_dir($_SERVER['DOCUMENT_ROOT'].$path) && !is_writable($_SERVER['DOCUMENT_ROOT'].$path)){
throw new Exception ("$path is not valid .. ");
}
move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT'].$path.$filename)
我也改了路径
mysite/images/
删除用于站点根目录的初始斜线。这运行良好。
但是,我不明白为什么目录检查和移动上传的文件 sn-ps 没有获取站点根目录的相对链接。
感谢任何想法。
【问题讨论】:
-
realpath()函数在这里可能有用 -
另外,相关:这个答案和它下面的答案 - stackoverflow.com/a/4426192/1470907
标签: php directory relative-path