如果您想在自己的网站页面实现文件上传功能,本文为您介绍通过PHP上传程序配置网页上的文件上传功能的方法。

前提条件

已安装FileZilla客户端,您可以访问FileZilla官网下载FileZilla客户端。

背景信息

本文提供的PHP上传程序属于实现网页文件上传功能的一种简单样例,包含php-upload.htm和php-upload.php两个文件。您也可以参考该样例中的代码编写自己的PHP上传程序,配置网页中不同风格的文件上传功能。

使用限制

  • 本文仅适用于Linux操作系统云虚拟主机。
  • 本示例中网站页面支持上传的文件大小小于50 KB。
  • 本文上传的测试文件不支持中文命名形式,建议该文件采用英文形式进行命名。

操作步骤

  1. 打开代码编辑器(例如EditPlus)。
    说明 您也可以根据自己的编程习惯选择其他代码编辑器。
  2. 分别复制如下示例代码并保存为php-upload.htmphp-upload.php文件。
    注意 保存文件时,请您选择编码格式为ANSI格式,否则会引起乱码情况,如下图所示。
    编码格式

    php-upload.htm文件的参考示例如下所示:

    <html>
    <body>
    
    <form action="php-upload.php" method="post"
    enctype="multipart/form-data">
    <label for="file">文件名称:</label>
    <input type="file" name="file" id="file" />
    <input type="submit" name="submit" value="上传文件" />
    </form>
    </body>
    </html>

    php-upload.php文件的参考示例如下所示:

    <?
    if ($_FILES["file"]["size"] < 50000)
      {
      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($_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";
      }
    ?>
  3. 使用FileZilla连接云虚拟主机。
    具体操作,请参见使用FileZilla管理文件
  4. 创建任意目录(例如test),用于存放php-upload.htmphp-upload.php文件。
    1. 在云虚拟主机站点根目录/htdocs下的空白位置,右键单击鼠标,单击创建目录(C),创建任意目录(例如test)。
    2. 创建目录对话框中,请输入将要创建的目录名(例如/htdocs/test),单击确定(O)
      创建目录
  5. 设置新建目录的读取、写入和执行权限。
    1. 右键单击test目录后,单击文件权限(F)
    2. 改变文件属性页面,选中所有读取、写入和执行权限后,单击确定(O)

      文件的权限设置如下图所示:

      777
  6. 选择本地主机上保存的php-upload.htmphp-upload.php文件,通过FileZilla上传到刚才创建的test目录中。
  7. 在浏览器中访问http://您的域名/test/php-upload.htm,如下图所示。
    选择文件
  8. 单击选择文件,在弹出的对话框中选择您需要上传的测试文件。
    说明 本步骤以testfile.txt测试文件为例,您也可以选择其他类型的文件进行上传测试。
  9. 单击上传文件
    本示例中文件上传成功如下图所示,页面会显示上传的文件名称、文件类型以及文件大小等信息。您可以在网站目录/htdocs/test中查看到已上传的testfile文件。上传文件
    说明 文件上传过程中,在PHP的临时文件夹会创建一个上传文件的临时副本,该临时副本会在程序运行结束时消失,并且会被自动保存在网站目录/htdocs/test中。