由于早期(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");
?>
