PHP3/4.1 register

來源:互聯網
上載者:User
由於早期(PHP3/4.1)的uploadfile所產生的變數僅僅為
$uploadfile
$uploadfile_name
$uploadfile_size
$uploadfile_type

而現在(PHP4.2/3)的所產生的變數為
$_FILES['uploadfile']['name']
$_FILES['uploadfile']['size']
$_FILES['uploadfile']['type']
$_FILES['uploadfile']['temp_name']
$_FILES['uploadfile']['error']


由於新版中增加了error用來判斷檔案是否上傳成功,而老版本則使用
代碼:
if(copy($uploadfile,"newpaht/".$uploadfile_name))

來判斷檔案上傳是否成功,因此我們在轉換過程中就丟棄了 error
相對的,由於新版中丟棄了 $uploadfile因此我們必須給此值賦值,而考慮老
版本是使用的copy因此我們將臨時檔案路徑賦於此變數,以協調工作。

代碼:
<?php
session_start();
$_vars=Array(
   "_GET",
   "_POST",
   "_COOKIE",
   "_SESSION",
   "HTTP_POST_VARS",
   "HTTP_GET_VARS",
   "HTTP_COOKIE_VARS",
   "HTTP_SESSION_VARS",
   "_FILES",
   "_ENV"
       );//把伺服器內的相關變數放在這裡
reset($_vars);
for($Tmpa=0;$Tmpa<count($_vars);$Tmpa++){
   extract($$_vars[$Tmpa],"EXTR_PREFIX_SAME",$_vars[$Tmpa]);
   if(strcmp($_vars[$Tmpa],"_FILES")==0){
      while(list($key,$value)=each($$_vars[$Tmpa])){
         ${$key."_name"}   =$_FILES['$key']['name'];
         ${$key."_type"}   =$_FILES['$key']['type'];
         ${$key."_size"}   =$_FILES['$key']['size'];
         $$key=${$key."_tmpname"}=$_FILES['$key']['tmp_name'];
      }
   }
}
?>


以上代碼經過修改測試,可以正常使用...

使用方法

代碼:
<?php
@include("pathtothisfile.php");
?>



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.