• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

PHP3/4.1 register_global=on转向PHP4.2/3 过度方法

发布: 2007-7-14 19:53 | 作者: 佚名    | 来源: 网络转载     | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网 由于早期(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");
?>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网