php文件上传步骤-php教程

资源魔 35 0

  咱们正在开发网站的时分,常常会遇到需求制造文件上传性能,上面咱们就为各人引见一下php制造文件上传性能的具体步骤。

保举教程:PHP视频教程

第一步:创立一个文件上传表单

  容许用户从表单上传文件长短常有用的。

  请看上面这个供上传文件的 HTML 表单:

<html>
    <body>
        <form action="upload_file.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>

请注意以下无关此表单的信息:

  <form> 标签的 enctype 属性规则了正在提交表单时要应用哪一种内容类型。正在表单需求二进制数据时,比方文件内容,请应用 "multipart/form-data"。

  <input> 标签的 type="file" 属性规则了应该把输出作为文件来解决。举例来讲,当正在阅读器中预览时,会看到输出框旁边有一个阅读按钮。

  正文:容许用户上传文件是一个微小的平安危险。请仅仅容许可托的用户执行文件上传操作。

第二步:创立上传剧本

  "upload_file.php" 文件含有供上传文件的代码:

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_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 "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>

  经过应用 PHP 的全局数组 $_FILES,你能够从客户较量争论机向近程效劳器上传文件。

  第一个参数是表单的 input name,第二个下标能够是 "name", "type", "size", "tmp_name" 或 "error"。就像这样:

    ●$_FILES["file"]["name"] - 被上传文件的称号

    ●$_FILES["file"]["type"] - 被上传文件的类型

    ●$_FILES["file"]["size"] - 被上传文件的巨细,以字节计

    ●$_FILES["file"]["tmp_name"] - 存储正在效劳器的文件的暂时正本的称号

    ●$_FILES["file"]["error"] - 由文件上传招致的谬误代码

  这是一种十分简略文件上传形式。基于平安方面的思考,您该当添加无关甚么用户有权上传文件的限度。

第三步:上传限度

  正在这个剧本中,咱们添加了对文件上传的限度。用户只能上传 .gif 或 .jpeg 文件,文件巨细必需小于 20 kb:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_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 "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>

  正文:关于 IE,辨认 jpg 文件的类型必需是 pjpeg,关于 FireFox,必需是 jpeg。

第四步:保留被上传的文件

  下面的例子正在效劳器的 PHP 暂时文件夹创立了一个被上传文件的暂时正本。

  这个暂时的复制文件会正在剧本完结时隐没。要保留被上传的文件,咱们需求把它拷贝到另外的地位:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  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
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

  下面的剧本检测了能否已存正在此文件,假如没有存正在,则把文件拷贝到指定的文件夹。

  正文:这个例子把文件保留到了名为 "upload" 的新文件夹。

以上就是php文件上传步骤的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!