使用PHP移动上传的文件

时间:2014-02-17 19:14:46

标签: php html

这是我的文件系统。

---的public_html
-------上传
-----------图像(上传下)
------- uploadimage(在public_html下)
-------其他文件夹

我所有的html php js文件都在上传文件夹中,我可以将图片上传到ima​​ges文件夹。 有没有办法可以将图像上传到uploadimage文件夹(在上传文件夹之外)

这是我移动的PHP代码

if (file_exists("images/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
  "images/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "images/" . $_FILES["file"]["name"];
  }

当我将图像更改为uploadimage时,服务器会发出警告。

1 个答案:

答案 0 :(得分:1)

您可以选择所需的任何文件夹,只要所有文件夹都设置了适当的权限。

基于PHP.net上的示例#1

您将需要使用:../,具体取决于文件的执行位置。

即:$uploads_dir = '../images/uploadimage';

<?php
$uploads_dir = '../uploadimage';
//$uploads_dir = '../images/uploadimage';
foreach ($_FILES["file"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["file"]["tmp_name"][$key];
        $name = $_FILES["file"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>

编辑后,看到OP的代码

(代码最初未发布在original question

当你编辑时,你会在public_html之下:

$uploads_dir = '../uploadimage';

因此,在您的情况下并使用您发布的代码,您可以使用以下内容:

if (file_exists("../uploadimage/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
  "../uploadimage/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "../uploadimage/" . $_FILES["file"]["name"];
  }