如何使用html在php上传文件

时间:2011-12-29 07:48:11

标签: php

我无法在独立计算机上传文件。

我想知道如何使用PHP / HTML上传文件。 通过示例为我提供解决方案 - 我是PHP的新手。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

我可以推荐你这个网站。

http://www.w3schools.com/php/php_file_upload.asp

干杯!

修改

文件上传取决于php配置中的几个内容

  • 文件大小
  • 文件写入权限
  • 临时目录

等。

答案 2 :(得分:2)

以下是错误检查的示例:

html:

<!DOCTYPE html>
<html lang="en">
    <body>
        <form action="upload.php" method="post" enctype="multipart/form-data">
            <span>Filename: </span>
            <input type="file" name="file" />
            <br />
            <input type="submit" name="submit" value="Upload" />
        </form>
    </body>
</html> 

php:

<?php
if (($_FILES["file"]["type"] == "image/gif") && ($_FILES["file"]["size"] < 20000))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Error Code: " . $_FILES["file"]["error"];
        echo "<br />";
    }
    else
    {
        echo "Uploaded File Name: " . $_FILES["file"]["name"];
        echo "<br />";
        echo "File Type: " . $_FILES["file"]["type"];
        echo "<br />";
        echo "File Size: " . ($_FILES["file"]["size"])." bytes";
        echo "<br />";
        echo "Temp file name: " . $_FILES["file"]["tmp_name"];
        echo "<br />";

        if (file_exists("uploadDir/" . $_FILES["file"]["name"]))
        {
            echo "A file with the name " . $_FILES["file"]["name"] . " already exists. ";
        }
        else
        {
            move_uploaded_file($_FILES["file"]["tmp_name"], "uploadDir/" . $_FILES["file"]["name"]);
            echo "The file was stored in: " . "uploadDir/" . $_FILES["file"]["name"];
        }
    }
}
else
{
    echo "Invalid file";
}
?>

第一个if限制文件类型(在本例中为gif)和文件大小(在这种情况下为20000字节或更少)。

第二个if检查文件传输过程中是否有错误。

第三个if在将临时文件复制到最终位置(在本例中为uploadDir)之前检查具有该名称的文件是否已存在。