PHP获取HTML文件名表单数据等
2014-04-12 00:00
597 查看
摘要: PHP获取表单数据,以及表单数据所在网页文件的信息
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
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
对于第三种处理页面文件部分,有网上朋友说采用$_SERVER["HTTP_REFERER"]方式获取不太可靠,提出在表单中加入Hidden属性项来获得,对此我表示知识有限无法解答,抱歉…
本文仅是学习笔记,用于自己复习参看,谨记之。
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
--------------------------------------------------------------------------------------------------
<html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body bgcolor=#FFFFFF> <div id="bigbox" align="center" class="top"> <br /><h2>开心一刻<h2><br /> <hr> <b><h2 align="LEFT">第一次杀鱼</h2></b> <div id="content" align="left"> 姐姐第一次杀鱼,犹豫了半天也不敢下手。 过了一会,再去看时,只见她两手握着鱼,把鱼按在水底,我问她要干嘛?<br /> 她说:“等把它淹死了再杀……淹死了再杀!” <br /></div> <hr> <form id="usercomments" method="post" action="./formdeal.php" align="left"> 简评:<input id="mycomment" name="mycomment" type="text" size=100 ></input><br> 文件:<input id="myfile" name="myfile" type="file"></input> <input type="submit" id="submit" name="submit" value="提交" ></input> </form> </div> </body> </html>
--------------------------------------------------------------------------------------------------
formdeal.php
--------------------------------------------------------------------------------------------------
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>处理页面!</title> </head> <body> <?php /* * * Created on 2014-04-11 * * author:wenqing */ ?> <?php /******************** * 处理表单数据 ********************/ echo "<font size=5px>"; echo "<p>"; $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 "<br /></p>"; ?> <?php /******************** * 处理上传文件 ********************/ echo "<p>"; 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"] . "<br />"; else{ echo "Upload: " . $_FILES["myfile"]["name"] . "<br />"; echo "Type: " . $_FILES["myfile"]["type"] . "<br />"; echo "Size: " . ($_FILES["myfile"]["size"] / 1024) . " Kb<br />"; echo "Temp-file: " . $_FILES["myfile"]["tmp_name"] . "<br />"; 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 "</p>"; ?> <?php /******************** * 处理页面文件 ********************/ echo '<p>'; $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 '<br />'; echo "URL路径是:".$urlpath; echo '<br />'; echo "提交表单的页面是:".basename($subpage); echo '<br />'; echo "处理表单的页面是:".$dealpage; echo '</p>'; echo "</font>"; ?> </body>
--------------------------------------------------------------------------------------------------
对于第三种处理页面文件部分,有网上朋友说采用$_SERVER["HTTP_REFERER"]方式获取不太可靠,提出在表单中加入Hidden属性项来获得,对此我表示知识有限无法解答,抱歉…
本文仅是学习笔记,用于自己复习参看,谨记之。
相关文章推荐
- PHP 获取表单数据与HTML嵌入PHP脚本
- 用PHP 的超级变量$_POST获取HTML表单 (HTML Form) 数据
- PHP获取表单数据与HTML嵌入PHP脚本的实现
- PHP的超级变量$_GET获取HTML表单(Form) 数据
- php $_POST获取html表单form数据教程
- 用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
- 用PHP的超级变量$_GET获取HTML表单(Form) 数据
- 用PHP的超级变量$_GET获取HTML表单(Form) 数据
- 用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
- 用PHP 的超级变量$_POST获取HTML表单 (HTML Form) 数据
- PHP从零单排(二)访问和获取HTML表单数据 分类: PHP 2014-04-18 10:48 190人阅读 评论(0) 收藏
- 用PHP 的超级变量$_GET 获取 HTML表单(Form) 数据
- PHP从HTML表单获取数据action问题
- PHP获取表单textarea数据中的换行问题
- PHP $_GET 获取 HTML表单(Form) 或url数据
- php+html 表单提交数据保存到mysql中
- 编写HTML表单提交并接受数据信息(获取用户通过表单提交的内容)
- php+js+html+ajax获取页面数据
- php 表单数据的获取代码
- html网页获取php网页数据等知识记录