关于php文件上传的代码,自己还是找了蛮久的,也学了一些,这里给出一个代码可以直接用的:上传文件->把文件从临时目录中移动到指定目录,然后为了不重复,把名字改一下(加上time函数)。
      废话少说 ,上代码:
前端:

<html>
<body>

<form action="upload.php" method="post"
      enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file" />
    <br />
    <input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

后端php代码:

<?php
print_r($_FILES);
if ((($_FILES["file"]["type"] == "image/gif")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/png")
        || ($_FILES["file"]["type"] == "image/pjpeg"))
    && ($_FILES["file"]["size"] < 700000))
{
    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"] / 1024) . " Kb<br />";
        echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

//        if (file_exists("upload/" . $_FILES["file"]["name"]))
//        {
////            echo $_FILES["file"]["name"] . " already exists. ";
////        }
////        else
//        {
            //rename($_FILES["file"]["tmp_name"]."/".$_FILES["file"]["name"],$_FILES["file"]["tmp_name"]."/".time().$_FILES["file"]["name"]);//修改文件名
            move_uploaded_file($_FILES["file"]["tmp_name"],
                "upload/" .time(). $_FILES["file"]["name"]);
            echo "Stored in: " . "upload/" .time(). $_FILES["file"]["name"];
        }
    }
//}
else
{
    echo "Invalid file";
}
?>

      当然了,有时候会遇到一些错误的信息:
      错误信息说明
      从 PHP 4.2.0 开始,PHP 将随文件信息数组一起返回一个对应的错误代码。该代码可以在文件上传时生成的文件数组中的 error 字段中被找到,也就是

$_FILES['userfile']['error']。

UPLOAD_ERR_OK
其值为 0,没有错误发生,文件上传成功。

UPLOAD_ERR_INI_SIZE
其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。

UPLOAD_ERR_FORM_SIZE
其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

UPLOAD_ERR_PARTIAL
其值为 3,文件只有部分被上传。

UPLOAD_ERR_NO_FILE
其值为 4,没有文件被上传。

UPLOAD_ERR_NO_TMP_DIR
其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。

UPLOAD_ERR_CANT_WRITE
其值为 7,文件写入失败。PHP 5.1.0 引进。

注: 以上值在 PHP 4.3.0 之后变成了 PHP 常量。

posted on 2015-04-04 11:12  虽然如此  阅读(119)  评论(0编辑  收藏  举报