PHP文件上傳

          Posted on 2006-10-17 09:56 my 閱讀(296) 評論(0)  編輯  收藏 所屬分類: php5

          1.
          form表單中要將method屬性設(shè)為post,enctype屬性設(shè)為multipart/form-data

          2. form表單中可以加一個(gè)hidden類型的input,其中名字為 MAX_FILE_SIZE的隱藏值域,通過設(shè)置其VALUE可以限制上載文件的大小。當(dāng)然,這個(gè)值不可能超過PHP的配置文件(PHP3php3.ini,PHP4php.ini)中的upload_max_filesize,注意這個(gè)input框一定要放在所有file類型的input框前面,否則也是無效的哦;

          3. PHP程序運(yùn)行完后,上傳文件被放在了臨時(shí)目錄下。如果上傳文件沒有被改名或移動(dòng),那么在請求的最后該文件將自動(dòng)被從臨時(shí)文件夾中刪除,所以我們最好立即將新的上傳文件上傳移到一個(gè)永久目錄下或更改其文件名。


          首先我們需要一個(gè)上載文件的表單網(wǎng)頁(upload.htm):
          <HTML>
          <HEAD>
          <TITLE>Upload Your File</TITLE>
          </HEAD>
          <BODY>
          <FORM ACTION="receiver.php3"
          ENCTYPE="multipart/form-data" METHOD=POST>
          <INPUT TYPE="HIDDEN"
          NAME="MAX_FILE_SIZE" VALUE="2000000">
          <INPUT TYPE="FILE"
          NAME="uploadfile" SIZE="24" MAXLENGTH="80">
          <BR><BR>
          <INPUT TYPE="SUBMIT" VALUE="Upload File!"
          NAME="sendit">
          <INPUT TYPE="SUBMIT" VALUE="Cancel"
          NAME="cancelit"><BR>
          </FORM>
          </BODY>
          </HTML>

          處理上載文件的PHP文件(receiver.php3
          <?
          function do_upload ()
          {
          global $uploadfile, $uploadfile_size;
          global $local_file, $error_msg;
          if ( $uploadfile == "none" )
          {
          $error_msg = "
          對不起,你沒有選定任何文件上傳!";
          return;
          }
          if ( $uploadfile_size > 2000000 )
          {
          $error_msg = "
          對不起,你要上傳的文件太大了!";
          return;
          }
          $the_time = time ();

          // 在這里指定你用來存放上傳文件的目錄,你需要對以下目錄有寫權(quán)限
          //
          同時(shí),我們也可以給上傳文件指定另外的目錄,如:$upload_dir = "/local/uploads";

          $upload_dir = "d:/upload";
          $local_file = "$upload_dir/$the_time";
          if ( file_exists ( '$local_file' ) )
          {
          $seq = 1;
          while ( file_exists ( "$upload_dir/$the_time$seq" ) ) { $seq++; }
          $local_file = "$upload_dir/$the_time$seq";
          };
          rename ( $uploadfile, $local_file );
          display_page ();
          }
          function display_page ()
          {
          //
          這里是你的頁面內(nèi)容
          }
          ?>
          <HTML>
          <HEAD>
          <TITLE>php3 Receiving Script</TITLE>
          </HEAD>
          <BODY>
          <?
          if ( $error_msg ) { echo "<B>$error_msg</B><BR><BR>"; }
          if ( $sendit )
          {
          do_upload ();
          echo "
          文件上載成功!";
          }
          elseif ( $cancelit )
          {
          header ( "Location: $some_other_script" );
          echo "
          文件上載失敗!";
          exit;
          }
          else
          {
          some_other_func ();
          }
          ?>
          </BODY>
          </HTML>

          posts - 63, comments - 45, trackbacks - 0, articles - 99

          Copyright © my

          主站蜘蛛池模板: 兴国县| 板桥市| 杨浦区| 南城县| 抚松县| 宜宾县| 阆中市| 穆棱市| 万宁市| 翁牛特旗| 三江| 卢湾区| 京山县| 大足县| 甘泉县| 时尚| 普安县| 镇坪县| 突泉县| 叶城县| 玛沁县| 吉安县| 出国| 浠水县| 来宾市| 齐齐哈尔市| 蓬莱市| 石楼县| 德钦县| 抚州市| 东乡族自治县| 甘德县| 资溪县| 谢通门县| 寻乌县| 西昌市| 阿克| 汪清县| 长乐市| 竹山县| 桑日县|