PHP - 上传,重命名和替换

时间:2012-10-15 07:20:42

标签: php image upload replace rename

我一直在努力寻找上传图片的方法。好吧,我可以上传一张图片,但是我无法做到以下几点。

首先,我希望它仅限于PNG图像 然后我想将它重命名为pic.png 最后它将替换上传器脚本上方目录中名为pic.png的另一个文件。

我在互联网上尝试了很多不同的脚本,但找不到一个可行的脚本。这是我目前的上传代码。

<?php
    $allowedExts = array("png");
    $extension = end(explode(".", $_FILES["file"]["name"]));
    if ((($_FILES["file"]["type"] == "image/png"))
    && ($_FILES["file"]["size"] < 2000000)
    && in_array($extension, $allowedExts)) {
        if ($_FILES["file"]["error"] > 0) {
            echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
        } else {
            echo "Upload: " . $_FILES["file"]["name"] . "<br />";
            echo "Type: " . $_FILES["file"]["type"] . "<br />";
            echo "Size: " . ($_FILES["file"]["size"] / 2000) . " Kb<br />";
            echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";\
            if (file_exists("upload/" . $_FILES["file"]["name"])) {
                echo $_FILES["file"]["name"] . " already exists. ";
            } else {
                move_uploaded_file($_FILES["file"]["tmp_name"],
                "../" . $_FILES["file"]["name"]);
                echo "Stored in: " . "../" . $_FILES["file"]["name"];
            }
        }
    } else {
        echo "Invalid file";
    }
?>

非常感谢互联网!

1 个答案:

答案 0 :(得分:0)

替换:

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

用这个:

    move_uploaded_file($_FILES["file"]["tmp_name"],"../pic.png");