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属性项来获得,对此我表示知识有限无法解答,抱歉…

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server 批量插入数据的两种方法

在SQL Server 中插入一条数据使用Insert语句&#xff0c;但是如果想要批量插入一堆数据的话&#xff0c;循环使用Insert不仅效率低&#xff0c;而且会导致SQL一系统性能问题。下面介绍SQL Server支持的两种批量数据插入方法&#xff1a;Bulk和表值参数(Table-Valued Parameters…

LeetCode MySQL 1532. The Most Recent Three Orders(dense_rank + over窗口函数)

文章目录1. 题目2. 解题1. 题目 Table: Customers ------------------------ | Column Name | Type | ------------------------ | customer_id | int | | name | varchar | ------------------------ customer_id is the primary key for this table. T…

php 负载监控_php记录服务器负载、内存、cpu状态的代码

通过调用系统命令top&#xff0c;然后借助函数explode&#xff0c;实现记录服务器负载、内存使用情况、cpu当前状态等信息。代码如下&#xff1a;/*** 记录服务器负载、内存使用、cpu状态* 每10秒检测一次* edit by www.jbxue.com*/while(1){exec(top -b -n 1 -d 3,$out);$Cpu …

Dota改键

利用全局钩子 制作一个个性化的dota游戏改键&#xff01; dll部分&#xff1a; // FileName: add.cpp#include <Windows.h>/* 定义全局变量 */ HWND g_hwnd NULL; HHOOK g_hKeyboard NULL;// 设置数据段 #pragma data_seg("MySec") static WORD g_keyNum[6]{…

LeetCode MySQL 1501. 可以放心投资的国家

文章目录1. 题目2. 解题1. 题目 表 Person: ------------------------- | Column Name | Type | ------------------------- | id | int | | name | varchar | | phone_number | varchar | ------------------------- id 是该表主键. 该表…

php 小数末尾进1,PHP小数点最后一位加1、减1

比如我有几个数字(小数点后面的位数不固定)&#xff1a;1、155.0552、122.1963、0.9631我怎么做才能让这些数字的小数点最后一位1&#xff0c;或者-1&#xff1f;比如1的话希望得到&#xff1a;1、155.0562、122.1973、0.9632回复内容&#xff1a;比如我有几个数字(小数点后面的…

ARM汇编Hello,World

1. 编译运行环境见http://www.cnblogs.com/linucos/archive/2013/03/01/2938517.htm2. 汇编例子.data msg: .asciz "hello, world\n" .text .global main …

LeetCode MySQL 1270. 向公司CEO汇报工作的所有人

文章目录1. 题目2. 解题1. 题目 员工表&#xff1a;Employees ------------------------ | Column Name | Type | ------------------------ | employee_id | int | | employee_name | varchar | | manager_id | int | ------------------------ employee_…

php 正则 尖括号,php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串...

$str"你好(爱)[北京]{天安门}";echo f1($str); //返回你好echo f2($str); //返回我echo f3($str); //返回爱echo f4($str); //返回北京echo f5($str); //返回天安门function f1($str){$result array();preg_match_all("/^(.*)(?:return $result[1][0];}functi…

经济学经典书籍

I&#xff1a;入门阶段&#xff1a; 中文版名称&#xff1a;《经济学原理》 曼昆 英文版名称&#xff1a;principle of economics by Mankiw,N.G.II&#xff1a;基础阶段&#xff1a; 《微观经济学》 周惠中 《微观经济学&#xff1a;现代观点》 哈尔.R.范里安&#xff08;Hal …

LeetCode MySQL 570. 至少有5名直接下属的经理

文章目录1. 题目2. 解题1. 题目 Employee 表包含所有员工和他们的经理。 每个员工都有一个 Id&#xff0c;并且还有一列是经理的 Id。 ------------------------------------- |Id |Name |Department |ManagerId | ------------------------------------- |101 |John…

php 数据接口,初识 php 接口

这次的这篇文章介绍的是PHP接口的内容&#xff0c;现在分享给大家&#xff0c;也给有需要帮助的朋友一个参考&#xff0c;大家一起过来看一看吧一. 接口按请求人可以分为两种&#xff1a;一种是被其他内部项目调用的接口(包括js异步请求的接口和定时程序)。另一种是对外的接口&…

SYSU每周一赛(13.03.16)1003

给定起点终点的无向图&#xff0c;出发时速度为1&#xff0c;到达时速度也为1&#xff0c;在每个点可以进行速度1&#xff0c;不变&#xff0c;-1的操作&#xff0c;在每条边都有限速&#xff0c;到达一城市后不能直接走反向边&#xff0c;求最短时间。 SPFA作松弛操作的典型例…

LeetCode MySQL 1132. 报告的记录 II

文章目录1. 题目2. 解题1. 题目 动作表&#xff1a; Actions ------------------------ | Column Name | Type | ------------------------ | user_id | int | | post_id | int | | action_date | date | | action | enum | | extra…

java封装省市区三级json格式,微信开发 使用picker封装省市区三级联动模板

目前学习小程序更多的是看看能否二次封装其它组件&#xff0c;利于以后能快速开发各种小程序应用。目前发现picker的selector模式只有一级下拉&#xff0c;那么我们是否可以通过3个picker来实现三级联动模板的形式来引入其它页面中呢&#xff1f;答案是肯定可以的。那么我的思路…

LeetCode MySQL 1126. 查询活跃业务

文章目录1. 题目2. 解题1. 题目 事件表&#xff1a;Events ------------------------ | Column Name | Type | ------------------------ | business_id | int | | event_type | varchar | | occurences | int | ------------------------ 此表的主键是…

php linux 删除文件夹,linux下如何删除文件夹

linux下删除文件夹的方法&#xff1a;可以使用【rm -rf 目录名】命令进行删除&#xff0c;如【rm -rf /var/log/httpd/access】&#xff0c;表示删除/var/log/httpd/access目录及其下的所有文件、文件夹。直接rm就可以了&#xff0c;不过要加两个参数-rf 即&#xff1a;rm -rf …

Too many fragmentation in LMT?

这周和同事讨论技术问题时&#xff0c;他告诉我客户的一套11.1.0.6的数据库中某个本地管理表空间上存在大量的Extents Fragment区间碎片&#xff0c;这些连续的Extents没有正常合并为一个大的Extent&#xff0c;他怀疑这是由于11.1.0.6上的bug造成了LMT上存在大量碎片。 同事判…

LeetCode 1533. Find the Index of the Large Integer(二分查找)

文章目录1. 题目2. 解题1. 题目 We have an integer array arr, where all the integers in arr are equal except for one integer which is larger than the rest of the integers. You will not be given direct access to the array, instead, you will have an API Array…

java先抽到红球获胜,【图片】红蓝球概率问题,通过程序模拟抽取,计算结果已出,有兴趣来看【非现役文职吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我用的c语言&#xff0c;大一学的还没忘完。。。。程序非常简单&#xff0c;就是生成随机数&#xff0c;然后根据随机数的结果进行计数就好了。代码贴下面&#xff0c;有兴趣的可以看看。懂行的请不要喷我写的烂。。。。。毕竟不是…