动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   PHP → 阅读文章

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

作者来源: 
阅读 1360 人次 , 2006-3-29 4:08:00 


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

 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:生成Excel文件范例(1):服务端
· 下一篇:用libtemplate实现静态网页生成
· 为Windows 98设置本地PHP PERL开发
· PHP 编码规范(7)
· 一个很方便的 XML 类
· 关于使用 file() 读入整个文件时出现的异常断行错误
· PHP:MVC迷思


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077