PHP如何更改上传图片的位置

时间:2014-02-16 12:21:05

标签: php ajax image

我想我已经设法通过AJAX将图像上传到PHP文件,我现在正尝试将其移动到已知位置,这是我的代码:

$allowedExtensions = array('JPEG', 'JPG', 'PNG', 'GIF');
$temp = explode(".", $_FILES["image"]["name"]);
$extension = end($temp);
if (in_array($extension, $allowedExtensions)) {
    if (file_exists("../pictures/" . $_FILES["image"]["name"])) {
        echo $_FILES["image"]["name"] . " already exists";
    } else {
        move_uploaded_file($_FILES["image"]["name"], "../pictures/" . $_FILES["image"]["name"]);
        echo "Moved to ". "../pictures/" . $_FILES["image"]["name"];

    }
}

运行时我得到的回声是它已被移动到“../pictures/capture.JPG”,但当我查看该文件夹时,它不在那里。

任何想法为什么?我也不知道["name"]做了什么,所以对此的解释也将非常感谢!

1 个答案:

答案 0 :(得分:2)

您的代码似乎有一个小错误。当PHP上传图像时,它会将其保存在临时目录中。所以为了移动,你应该这样做:

move_uploaded_file($_FILES["image"]["tmp_name"], "../pictures/" . $_FILES["image"]["name"]);

请注意上面的tmp_name。如果你的其余代码没问题,这一定必须有效!