PHP中__FILE__与dirname与basename的用法
一、__FILE__与dirname(__FILE__)与basename(__FILE__)使用:
通常在配置文件路径的时候用dirname(__FILE__)是非常有效的方法,但是因为__FILE__的路径是当前代码所在文件(而不是url所在文件)完整路径,所以定义配置文件通常要放在根目录下定义网站的根地址,但是下面的方法可以解决配置文件的存放问题。
代码如下 | 复制代码 |
1.dirname(dirname(__FILE__)); /* 2. 3.假设__FILE__为 /home/web/config/config.php 4.上面的方法输出为 /home/web 5.*/ |
dirname(dirname(__FILE__));得到的是文件上一层目录名
dirname(__FILE__);得到的是文件所在层目录名
假设现在的目录及文件结构如下,我们所要测试的变量在wp_smtp_admin.php文件中:
wp-content\plugins\wp-smtp\wp-smtp.php
wp-content\plugins\wp-smtp\wp_smtp_admin.php
wp-content\plugins\wp-smtp\img\blq_32_32.jpg
测试结果如下:
代码如下 | 复制代码 |
echo __FILE__ . "<br />"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp\wp_smtp_admin.php echo plugin_basename(__FILE__) . "<br />"; //输出 wp-smtp/wp_smtp_admin.php |
好了现在我们来看看这dirname与basename相关说明
dirname() 函数返回路径中的目录部分。
basename() 函数返回路径中的文件名部分。
从这里我们就不难看出上面的结果了。
关键字过滤非常的简单把要过滤的内容存在数组或文档中,然后用户提交时我们进行preg_match或istrpos判断即可解决了,具体方法如下。例
代码如下 | 复制代码 |
//过滤黑名单关键字函数 |
关键字的存放形式为txt,txt文件中以这样形式存放:|赌博机|卖血|出售肾|出售器官|眼角膜
代码如下 | 复制代码 |
<?php |
在PHP编码JSON(json_encode)
PHP json_encode()函数用于在PHP JSON编码。这个函数成功返回JSON表示的值,失败则返回FALSE。
语法:
string json_encode ( $value [, $options = 0 ] )参数:
value: 即将编码的值,此函数只适用于UTF-8编码的数据。
options: 这个可选的值是一个位掩码,由JSON_HEX_TAG JSON_HEX_QUOT,JSON_HEX_AMP,JSON_HEX_APOS,JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT,JSON_UNESCAPED_SLASHES,JSON_FORCE_OBJECT
例子
下面的例子演示了如何用PHP数组转换成JSON:
代码如下 | 复制代码 |
<?php 在执行过程中,这将产生以下结果: {"a":1,"b":2,"c":3,"d":4,"e":5} |
下面的示例显示如何将PHP对象可以转换成JSON:
代码如下 | 复制代码 |
<?php echo json_encode($e); 在执行过程中,这将产生以下结果: {"name":"sachin","hobbies":"sports","birthdate":"08/05/1974 12:20:03 pm"} |
解码JSON在PHP(json_decode)
PHP json_decode()函数用于解码JSON在PHP。这个函数返回值从json解码成适当的 PHP类型。
语法:
mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])参数:
json_string: 它必须是UTF-8编码的数据编码的字符串
assoc: 这是一个布尔类型参数设置为TRUE时,返回的对象将被转换成关联数组
depth: 它是一个整数类型的参数,它指定递归深度
options: 它是一个整数类型的位掩码JSON解码,支持JSON_BIGINT_AS_STRING
例子
下面的示例显示了如何可以使用PHP来解码JSON对象:
代码如下 | 复制代码 |
<?php var_dump(json_decode($json)); 在执行过程中,这将产生以下结果: object(stdClass)#1 (5) { array(5) { |
假如我们获取的JSON数据如下:(可以使用curl、fsockopen等方式获取)
代码如下 | 复制代码 |
{ 用json_decode函数返回array的方式得到: Array |
我们在PHP语言中可以用以下方法取得我们想要的值:
代码如下 | 复制代码 |
<?php |
例,结合数据库操作
代码如下 | 复制代码 |
<?php
?> </body> |
代码如下 | 复制代码 |
<?php 1、获取目标网站图片地址。 2、读取图片内容。 3、创建要保存图片的路径并命名图片名称。 4、写入图片内容。 5、完成。 我们通过写几个函数来实现这一过程。*/ //函数make_dir()建立目录。判断要保存的图片文件目录是否存在,如果不存在则创建目录,并且将目录设置为可写权限。 //函数read_filetext()取得图片内容。使用fopen打开图片文件,然后fread读取图片文件内容。
//然后我们通过分析页面内容,将主体内容找出来,调用get_pic()实现图片的保存。 //我们采集太平洋电脑网上一篇关于手机报道内容页的图片 php100.com $content = file_get_contents($url);//获取网页内容 /* |
自定义的一个函数
代码如下 | 复制代码 |
function StripHTML($string){ |
除了上面自定的函数之外还有一个php自带的过滤html的函数:strip_tags(string) 这样就可以过滤掉所有的html标签了。
如果想过滤掉除了<img src="">之外的所有html标签,则可以这样写:
代码如下 | 复制代码 |
strip_tags(string,"<img>"); |
过滤除了<img src=""><p>xxx</p><b></b>之外的所有html标签,则可以这样写:
代码如下 | 复制代码 |
strip_tags(string,"<img><p><b>"); |
网上找到一个防sql注入函数
代码如下 | 复制代码 |
//php 批量过滤post,get敏感数据 function stripslashes_array(&$array) { // 替换HTML尾标签,为过滤服务 www.111cn.net return $str; } |
使用方法
代码如下 | 复制代码 |
引用是直接这样: |
相关文章
- using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
详解Maven profile配置管理及激活profile的几种方式
这篇文章主要介绍了详解Maven profile配置管理及激活profile的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-26linux中PHP dirname(__FILE__)路径问题解决
在php 中dirname() 函数返回路径中的目录部分,__FILE__而当前运行文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。这是一个魔法变量(预定义常量),在...2016-11-25- 最新版下载: http://www.csdn123.com/uploadfile/2015/0428/20150428062734485.zip 概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码。这个项目的产生...2016-05-19
- 这篇文章主要介绍了C++中cin的用法详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
- 这篇文章主要介绍了C#中的try catch finally用法,以实例形式分析了try catch finally针对错误处理时的不同用法,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
- useState 通过在函数组件里调用它来给组件添加一些内部 state,React 会在重复渲染时保留这个 state,接下来通过一个示例来看看怎么使用 useState吧...2021-06-04
- 一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件.但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作. 于是, 很多时候, 我们采用让PHP来做转发, 为用户提供文件下载...2014-06-07
PHP中print_r、var_export、var_dump用法介绍
文章详细的介绍了关于PHP中print_r、var_export、var_dump区别比较以及这几个在php不同的应用中的用法,有需要的朋友可以参考一下 可以看出print_r跟var_export都...2016-11-25- 在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input。 下面的例子摘取的是wordpres...2016-11-25
- 这篇文章主要介绍了Delphi常用关键字用法,包括了各个常用的关键字及其详细用法,需要的朋友可以参考下...2020-06-30
- 1、声明主键的方法: 您可以在创建表的时候就为表加上主键,如: CREATE TABLE tbl_name ([字段描述省略...], PRIMARY KEY(index_col_name)); 也可以更新表结构时为表加上主键,如: ALTER TABLE tbl_name ADD PRIMARY KEY (in...2015-11-24
- 本文给大家汇总介绍了C#中的几种this用法,相信大家应该有用过,但你用过几种?以下是个人总结的this几种用法,欢迎大家拍砖,废话少说,直接列出用法及相关代码。...2020-06-25
- 这篇文章主要介绍了使用maven的profile构建不同环境配置的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-26
- 目前在做window.onerror时上报js错误信息的事,整理下相关资料,需要的朋友可以参考下...2016-01-29
- 这篇文章主要介绍了C语言循环结构与时间函数用法,是C语言中非常重要的一个技巧,需要的朋友可以参考下...2020-04-25
- 今天小编就为大家分享一篇python+tifffile之tiff文件读写方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
- 本文章来给大家介绍一下在php中 ->与 ==>符号的用法与区别,有需要了解的朋友可尝试参考。 “->”(减号、右尖括号) 用于类中,访问类里的函数或对象,比如:...2016-11-25
- foreach()有两种用法 1: foreach(array as $value) { 表达式; } 这里的array是你要遍历的数组名,每次循环中,array数组的当前元素的值被赋给$value,...2016-11-25
- __FILE__在php是表示当前文件绝对路径哦,下面我们来看看简单的FILE的实例吧。 《?php echo __FILE__; ?> E:phpinfo.php 那么我们会看到很多cms中会这样写 dirname...2016-11-25