php获取表单信息的代码_PHP获取HTML文件名表单数据等

1、PHP获取表单各项数据 --- 与表单提交的方式有关

GET方式,格式:$_GET[“formelement”]

POST方式,格式:$_POST[“formelement”]

REQUEST方式,格式:$_REQUEST[“formelement”]

2、表单中上传文件的数据

数组:$_FILES["file_name"] //其中file_name表示表单file元素对应的名称

包含error,name,type,size,tmp_name等数据项

3、表单本身所在文件(HTML,PHP等)的数据

$_SERVER["HTTP_REFERER"]表示请求的文件信息,是URL地址,如http://localhost/login.html

可以采用如下方式处理:

$uri=$_SERVER['HTTP_REFERER']; //无法获得默认页面index.html等形式的文件名称

$arr=explode('/',$uri);//把字符串分割为数组

也可以将URL地址当做文件路径,使用basename($_SERVER["HTTP_REFERER"])来获得请求文件名

4、表单处理文件(本文件)的信息

__FILE__获得文件的完整路径;

$_SERVER['REQUEST_URI']和$_SERVER['PHP_SELF']获得文件名;

注:单引号串和双引号串在PHP中的处理是不相同的。

双引号串中的内容(如变量,特殊字符)可以被解释而且替换,而单引号串中的内容总被认为是普通字符。

$foo = 2;

echo "foo is $foo"; // 打印结果: foo is 2

echo 'foo is $foo'; // 打印结果: foo is $foo

echo "foo is $foo\n"; // 打印结果: foo is 2 (同时换行)

echo 'foo is $foo\n'; // 打印结果: foo is $foo\n

需要说明的是,在脚本中使用单引号串处理速度会更快,PHP语法分析器对单引号串的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂,所以处理速度略慢。

示例:

file1.html

--------------------------------------------------------------------------------------------------

开心一刻


第一次杀鱼

姐姐第一次杀鱼,犹豫了半天也不敢下手。

过了一会,再去看时,只见她两手握着鱼,把鱼按在水底,我问她要干嘛?

她说:“等把它淹死了再杀……淹死了再杀!”


简评:

文件:

--------------------------------------------------------------------------------------------------

formdeal.php

--------------------------------------------------------------------------------------------------

处理页面!

/*

*

* Created on 2014-04-11

*

* author:wenqing

*/

?>

/********************

* 处理表单数据

********************/

echo "";

echo "

";

$comment=$_POST['mycomment']; //获取表单数据

/**

* empty()函数是用来测试变量是否已经配置:

* 若变量不存在,则返回 TRUE;

* 若变量存在且其值为""、0、"0"、NULL、FALSE、array()以及无属性对象,则返回 TURE;

实例:

$value="0";

if(empty($value)){

echo "我是空值!";

}

**/

//if(empty($comment)){

if($comment==""){

print("您没有评论!");

}else{

print("您的评论是:".$comment);

}

echo "

";

?>

/********************

* 处理上传文件

********************/

echo "

";

if(empty($_FILES["myfile"]))

print("您没有上传文件!");

else if(($_FILES["myfile"]["type"] == "text/plain")

&& ($_FILES["myfile"]["size"] < 20000))

{

if ($_FILES["myfile"]["error"] > 0)

echo "Return Code: " . $_FILES["myfile"]["error"] . "
";

else{

echo "Upload: " . $_FILES["myfile"]["name"] . "
";

echo "Type: " . $_FILES["myfile"]["type"] . "
";

echo "Size: " . ($_FILES["myfile"]["size"] / 1024) . " Kb
";

echo "Temp-file: " . $_FILES["myfile"]["tmp_name"] . "
";

if(file_exists("upload/" . $_FILES["myfile"]["name"]))

echo $_FILES["myfile"]["name"] . " already exists. ";

else{

move_uploaded_file($_FILES["myfile"]["tmp_name"],

"upload/" . $_FILES["myfile"]["name"]);

echo "Stored in: " . "upload/" . $_FILES["myfile"]["name"];

}

}

}

echo "

";

?>

/********************

* 处理页面文件

********************/

echo '

';

$servername=$_SERVER['SERVER_NAME'];

$subpage=$_SERVER["HTTP_REFERER"];

// __FILE__ and $_SERVER['PHP_SELF'] achive same feature!

$dealpage=$_SERVER["REQUEST_URI"];

$urlpath=substr($subpage,(7+strlen($servername)));

echo "服务器名称是:".$servername;

echo '
';

echo "URL路径是:".$urlpath;

echo '
';

echo "提交表单的页面是:".basename($subpage);

echo '
';

echo "处理表单的页面是:".$dealpage;

echo '

';

echo "";

?>

--------------------------------------------------------------------------------------------------

对于第三种处理页面文件部分,有网上朋友说采用$_SERVER["HTTP_REFERER"]方式获取不太可靠,提出在表单中加入Hidden属性项来获得,对此我表示知识有限无法解答,抱歉…

本文仅是学习笔记,用于自己复习参看,谨记之。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值