我们先看下面的源代码:

<html>
 <head>
 < >php 实现文件上传的源代码</ >
 </head>
 <body>
 <div>
 <?php
 if ( isset( $_FILES[\'fupload\'] ) ) {

     print \"name: \".     $_FILES[\'fupload\'][\'name\']       .\"<br />\";
     print \"size: \".     $_FILES[\'fupload\'][\'size\'] .\" bytes<br />\";
     print \"temp name: \".$_FILES[\'fupload\'][\'tmp_name\']   .\"<br />\";
     print \"type: \".     $_FILES[\'fupload\'][\'type\']       .\"<br />\";
     print \"error: \".    $_FILES[\'fupload\'][\'error\']      .\"<br />\";

     if ( $_FILES[\'fupload\'][\'type\'] == \"image/gif\" ) {

         $source = $_FILES[\'fupload\'][\'tmp_name\'];
         $target = \"upload/\".$_FILES[\'fupload\'][\'name\'];
         move_uploaded_file( $source, $target );// or die (\"Couldn\'t copy\");
         $size = getImageSize( $target );

         $imgstr = \"<p><img width=\\\"$size[0]\\\" height=\\\"$size[1]\\\" \";
         $imgstr .= \"src=\\\"$target\\\" alt=\\\"uploaded image\\\" /></p>\";

         print $imgstr;
     }
 }
 ?>
 </div>
 <form enctype=\"multipart/form-data\"
     action=\"<?php print $_SERVER[\'PHP_SELF\']?>\" method=\"post\">
 <p>
 <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"102400\" />
 <input type=\"file\" name=\"fupload\" /><br/>
 <input type=\"submit\" value=\"upload!\" />
 </p>
 </form>
 </body>
 </html>

下面对实例源码进行讲解:

这个实例中,我们使用表单form提交文件到服务器,注意,表单是提交给本页(action="<?php print $_SERVER['PHP_SELF']?>"),而且form的enctype属性要设置为multipart/form-data。当表单提交后,服务器接收表单file,然后通过php 服务器上传函数move_uploaded_file将文件上传到服务器并保存到相应的目录。这里向大家介绍php全局数组 $_FILES的一些值及意义。

  • $_FILES["file"]["name"] - 被上传文件的名称
  • $_FILES["file"]["type"] - 被上传文件的类型,通过这个变量,我们可以设置只能上传指定的文件类型。如本实例只允许上image/gif类型的文件。
  • $_FILES["file"]["size"] - 被上传文件的大小,以字节计
  • $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
  • $_FILES["file"]["error"] - 由文件上传导致的错误代码
收藏 打印