首先来看一下html form代码:

<html>
 <head>
  < >php 一个非常简单的文件上传实例demo</ >
 </head>
 <body>
  <h3>File Upload</h3>
  请选择要上传的文件<br>
  <form action=\"uploader.php\" method=\"post\" enctype=\"multipart/form-data\">
  <input type=\"file\" name=\"file\" size=\"45\">
  <br>
  <input type=\"submit\" value=\"Upload File\">
  </form>
 </body>
</html>

这里要注意两点:

  1. 当表单里面有上传文件的input时(即input='file'),表单form的enctype属性要设置为multipart/form-data
  2. HTML文件上传控件,我们一般使用<input type="file" >

 

再来看一下php处理表单的代码:

<?php   
  if( $_FILES[\'file\'][\'name\'] != \"\" )
  {
    copy ( $_FILES[\'file\'][\'tmp_name\'], 
     \"C:/Apache/htdocs/\" . $_FILES[\'file\'][\'name\'] ) 
    or die( \"Could not copy file\" );
  }
  else
  {
    die( \"No file specified\" );
  }
?>
<html>
 <head>
  < >Upload complete</ >
 </head>
 <body>
  <h3>File upload succeeded...</h3>
  <ul>
  <li>Sent: <?php echo $_FILES[\'file\'][\'name\']; ?></li>
  <li>Size: <?php echo $_FILES[\'file\'][\'size\']; ?> bytes</li>
  <li>Type: <?php echo $_FILES[\'file\'][\'type\']; ?></li>
  </ul>
  <a href=\"<?php echo $_FILES[\'file\'][\'name\']; ?>\">Click here to view file</a> 
 </body>
</html>

这里我们使用了php copy函数将文件上传到服务器,当然也可以使用move_uploaded_file函数。关于代码中使用到的全局数组 $_FILES,可以参考下面的说明:

  • $_FILES["file"]["name"] - 被上传文件的名称
  • $_FILES["file"]["type"] - 被上传文件的类型
  • $_FILES["file"]["size"] - 被上传文件的大小,以字节计
  • $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
  • $_FILES["file"]["error"] - 由文件上传导致的错误代码
收藏 打印