博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP获取HTML文件名表单数据等
阅读量:6378 次
发布时间:2019-06-23

本文共 3342 字,大约阅读时间需要 11 分钟。

  hot3.png

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

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

 
处理页面!
"; 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 "

"; ?>
"; 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 "

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

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

转载于:https://my.oschina.net/wqli/blog/221443

你可能感兴趣的文章
SFB 项目经验-24-为持久聊天室-查询或者增加成员
查看>>
Linux下配置Squid基础教程
查看>>
当Cacti遭遇大流量
查看>>
Outlook Anywhere 客户端配置详解
查看>>
《Windows Server 2008 R2系统管理实战》前言与内容提要
查看>>
轻巧的网络流量实时监控工具NTOPNG
查看>>
Access、Sql 获取当前插入的主键ID
查看>>
聚类算法之DBScan(Java实现)
查看>>
为什么要使用AOP?
查看>>
VC :模板类
查看>>
对C++中string类型的总结
查看>>
Oracle发布公共云Public Cloud
查看>>
eclipse高亮显示
查看>>
Shell 操作数据库
查看>>
if lte IE if gte IE 浏览器兼容
查看>>
基于Lumisoft.NET组件和.NET API实现邮件发送功能的对比
查看>>
C#数据库访问技术之DATAREADER对象读取数据
查看>>
各种排序方法
查看>>
编译时程序透彻理解异常并合理使用异常
查看>>
2013年5月18日星期六
查看>>