【问题标题】:File upload path issue文件上传路径问题
【发布时间】:2014-01-19 18:05:49
【问题描述】:

My server URL is = http://75.126.174.170/~grooplin

我想将图像上传到我的 public_html 文件夹中的“uploads/images/”文件夹中

但是

$uploadfile = $_SERVER['DOCUMENT_ROOT']."/~grooplin/uploads/images";

is_dir($uploadfile) // returns false

在回声时

echo $_SERVER['DOCUMENT_ROOT'];         // I got '/usr/local/apache/htdocs'

这个的上传路径是什么?

【问题讨论】:

  • 检查 is_dir($_SERVER['DOCUMENT_ROOT']."/~grooplin/uploads/images/")
  • @JensonMJohn 他已经在这样做了
  • is_dir('uploads/images'); 的结果是什么?
  • @Sean Doe 返回真。但在很多地方都使用了 $_SERVER['DOCUMENT_ROOT']。这已经是完成的项目,但现在更改了服务器并遇到了这个问题。如果不使用这个相对 url,我将如何解决
  • 如何动态获取此服务器的绝对路径?

标签: php file-upload file-permissions


【解决方案1】:

$_SERVER['DOCUMENT_ROOT'] >> 当前脚本在其下执行的文档根目录,在服务器的配置文件中定义。

如果您的上传目录位于文档根目录中,您需要这样定义路径:

$uploadfile = $_SERVER['DOCUMENT_ROOT']."/uploads/images";

// OR

$uploadfile = "uploads/images";

【讨论】:

  • $uploadfile = "上传/图片";返回真。但在很多地方都使用了 $_SERVER['DOCUMENT_ROOT']。这已经是完成的项目,但是现在更改了服务器并遇到了这个问题。如果不使用这个相对 url,我将如何解决
  • 第一个 $uploadfile = $_SERVER['DOCUMENT_ROOT']."/uploads/images";返回错误
  • @user2609417 在您的虚拟主机文件中,使用DocumentRoot 条目将您的文档根目录定义为适当的路径。 httpd.apache.org/docs/2.2/vhosts/examples.html
【解决方案2】:

尝试将上传文件路径设置为:

$uploadfile = "./uploads/images/";

【讨论】:

  • $uploadfile = "./uploads/images/";返回真。但在很多地方都使用了 $_SERVER['DOCUMENT_ROOT']。这已经是完成的项目,但是现在更改了服务器并遇到了这个问题。如果不使用这个相对 url,我将如何解决
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 1970-01-01
相关资源
最近更新 更多