PHP简单功能的实现

检查一个变量是否为空

  • empty功能
    • 返回值:
    • 若变量不存在则返回 TRUE
    • 若变量存在且其值为””、0、”0”、NULL、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 TURE
    • 若变量存在且值不为””、0、”0”、NULL、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 FALSE

函数支持版本:(PHP 4, PHP 5, PHP 7

PHP提取字符串中的数字

  • 使用正则表达式:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function findNum($str=''){
    $str=trim($str);
    if(empty($str)){return '';}
    $reg='/(\d{3}(\.\d+)?)/is';//匹配数字的正则表达式
    preg_match_all($reg,$str,$result);
    if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
    return $result[1][0];
    }
    return '';
    }
  • in_array方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function findNum($str=''){
    $str=trim($str);
    if(empty($str)){return '';}
    $temp=array('1','2','3','4','5','6','7','8','9','0');
    $result='';
    for($i=0;$i<strlen($str);$i++){
    if(in_array($str[$i],$temp)){
    $result.=$str[$i];
    }
    }
    return $result;
    }
  • is_numeric函数:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function findNum($str=''){
    $str=trim($str);
    if(empty($str)){return '';}
    $result='';
    for($i=0;$i<strlen($str);$i++){
    if(is_numeric($str[$i])){
    $result.=$str[$i];
    }
    }
    return $result;
    }

PHP操作数组

  • 创建空数组

    1
    2
    $x = [];
    var_dump($x); // array(0) {}
  • php 合并数组,且不重复相同的元素

    1
    2
    3
    4
    5
    $a = array("1","3","5","10","15");
    $b = array("1","3","5","6","9");
    $x = array_unique(array_merge($a,$b));
    var_dump($x);
    // 结果:array("1","3","5","10","15","6","9" )
  • php找到两个数组中相同的元素

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // 找出两个数组相同的项
    function getSameArr($a1,$a2){
    $alength = count($a1);
    for ($i=0; $i <$alength ; $i++) {
    if (in_array($a1[$i],$a2)) {
    $sameArr[] = $a1[$i];
    }
    }
    if ($sameArr) {
    return $sameArr;
    }else{
    return array("0");
    }
    }

前端显示若超过字数,后面使用省略号

1
2
3
4
5
6
7
<?php
if (strlen($new['title']) < 51 ) {
echo $new['title'];
}else{
echo mb_substr($new['title'], 0,17,'utf-8').'...';
}
?>

文件上传

修改PHP上传文件的大小限制

使用POST请求提交的数据大小超过了服务器的最大限制数(8388608字节=8MB)会报告如下错误:

1
Warning: POST Content-Length of 625523488 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

如果需要的话,可以通过修改PHP的配置文件php.ini中的post_max_size参数的值。

在PHP的配置文件php.ini中,默认存在如下配置信息(在php.ini中,行首的分号”;”表示当前行是注释,不会生效):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
;脚本解析输入数据(类似 POST 和 GET)允许的最大时间,单位是秒。 它从接收所有数据到开始执行脚本进行测量的。 
max_input_time = 60

;允许客户端单个POST请求发送的最大数据
post_max_size = 8M

;是否开启文件上传功能
file_uploads = On

;文件上传的临时存放目录(如果不指定,使用系统默认的临时目录)
;upload_tmp_dir =

;允许单个请求上传的最大文件大小
upload_max_filesize = 2M

;允许单个POST请求同时上传的最大文件数量
max_file_uploads = 20

PHP获取站点根目录

  • 获取文件路径

    1
    2
    3
    4
    5
    <?php
    echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php
    echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\
    echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\
    ?>
  • 魔术常量__FILE__:取得当前文件的路径,这里的路径包含了文件名;
  • dirname(__FILE__):返回一层目录;
  • realpath()函数:返回绝对路径,删除所有符号连接(比如 ‘/./‘, ‘/../‘ 以及多余的 ‘/‘),返回绝对路径名,若失败(如文件不存在),则返回 false。
  • 路径方式
1
2
define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/");
echo BASE_PATH; // 输出结果:E:/wwwroot/

str_replace( '\\' , '/' , realpath(dirname(__FILE__).'/../')):把向左的“\”转化成向右的“/”。

  • url方式
1
2
3
PHP_SELF=$_SERVER['PHP_SELF'];
$url='http://'.$_SERVER['HTTP_HOST'].substr($PHP_SELF,0,strrpos($PHP_SELF,'/')+1);
echo $url; // 输出结果:http://localhost/
  • PHP取得站点根目录

    1
    2
    3
    4
    5
    echo $_SERVER['HTTP_HOST'];     //当前请求的 Host: 头部的内容 即域名信信息
    echo $_SERVER['PHP_SELF']; //当前正在执行脚本的文件相对网站根目录地址,就算该文件被其他文件引用也可以正确得到地址
    echo $_SERVER['SCRIPT_NAME']; //当前正在执行脚本的文件相对网站根目录地址,但当该文件被其他文件引用时,只显示引用文件的相对地址,不显示该被引用脚本的相对地址。
    echo $_SERVER['DOCUMENT_ROOT']; //网站相对服务器地址即网站的绝对路径名 #当前运行脚本所在的文档根目录。在服务器配置文件中定义
    echo $_SERVER['SCRIPT_FILENAME']; //当前执行脚本的绝对路径名。

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

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

相关文章

C#流和文件

C#流和文件 文件及文件夹管理 WinForm中的文件对话框 文件内容的读写 注册表操作

PHP操作MySQL数据库(连接、增删改操作)

MySQL 是跟 PHP 配套使用的最流行的开源数据库系统&#xff0c;我们知道MySQL是PHP的最佳搭档&#xff0c;下面是系统的总结PHP与MySQL联合使用的方法。主要是使用MySQL扩展&#xff0c;下面就通过归纳总结来提升。 MySQL概述MySQL 是一种在 Web 上使用的数据库系统。 MySQL 是…

互联网应届生四项职场生存技能

职场能力一&#xff1a;沟通力沟通力是职场最重要也是最基础的一项能力。 进入职场后&#xff0c;无论从事什么岗位都必然要用到沟通力这个能力项。沟通力有一个很重要的基石&#xff0c;就是尊重对方的时间。每一次沟通&#xff0c;双方其实都要投入很多时间和精力。只有懂得尊…

C#中程序错误的种类和程序的调试

C#中程序错误的种类 语法错误 运行错误 逻辑错误 程序调试的基本手段 然后运行 调试程序例子 例子2&#xff1a;读文件 没有找到文件 null引用就是没有进行初始化 索引超出数组界限

缓存

最近在狂补优化方面的知识&#xff0c;缓存也是优化的一大方向。之前关于缓存只是知道它的功能&#xff0c;再多不知道了&#xff0c;这里整理缓存相关的知识&#xff0c;算是优化入门吧。 相关概念缓存 是“存贮使用频繁的数据的临时地方&#xff0c;因为取原始数据的代价太大…

mysql中as用法

重命名列名或者表名。as可理解为&#xff1a;用作、当成&#xff0c;作为&#xff1b;一般是重命名列名或者表名。&#xff08;主要为了查询方便&#xff09; 重命名列。如&#xff1a;表text&#xff0c; 列 column_1,column_2 你可以写成&#xff1a; 1select column_1 as …

C#中window窗体和控件

C#中window窗体和控件 布局与事件–界面的基本问题 布局 就是拉动窗体的时候&#xff0c;按钮也在跟着变动。 事件 //简单的计算器 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; namespa…

PHP自动加载机制

概述首先&#xff0c;为什么PHP需要自动加载呢&#xff1f; 在PHP面向对象(OO)编程中&#xff0c;为了方便管理&#xff0c;我们都会把一个类写在一个单独的文件中&#xff0c;那么如果想在A类中使用B类的功能&#xff0c;就需要把B类加载到A类。对于这样的需求在最原始的时候&…

操作系统知识——互斥和死锁

银行家算法银行家算法是最有代表性的避免死锁算法&#xff0c;是Dijkstra提出的。这是由于该算法能用于银行系统现金贷款的发放而得名。 我们可以把操作系统看作是银行家&#xff0c;操作系统管理的资源相当于银行家管理的资金&#xff0c;进程向操作系统请求分配资源相当于用户…

C#常用的控件

C#常用的控件 窗体 菜单、工具栏、对话框 用户控件及控件的继承

C++输入函数的应用

最近因为找工作的事情&#xff0c;在刷一些编程题&#xff0c;也陆陆续续参加了一些笔试&#xff0c;一般编程中使用的语言是C&#xff0c;因为编程题会有时间的限制&#xff0c;C的效率最高&#xff0c;不容易出现超时的问题所以使用最多的语言就是C。 在编程中&#xff0c;其…

C#绘图及图像

C#绘图及图像 绘图的基本方法 绘图的应用

PHP开发API

引言如何使用 PHP 开发 API&#xff08;Application Programming Interface&#xff0c;应用程序编程接口&#xff09; 呢&#xff1f; 做过 API 的人应该了解&#xff0c;其实开发 API 比开发 WEB 更简洁&#xff0c;但可能逻辑更复杂&#xff0c;因为 API 其实就是数据输出&a…

热部署和热加载

2018-8-22今天入职第二天&#xff0c;看到老大在群里发了一个go热加载实现的链接&#xff0c;之前没有听说过热加载&#xff0c;所以搜索了一下&#xff0c;下面是关于热部署和热加载的相关整理。 引言在项目线上更新时&#xff0c;可能会遇到需要热部署的情况&#xff0c;虽然…

C#实现定时器

C#实现定时器 方法一 布局 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace…

HTTP请求流程

hhtp请求流程首先http是一个应用层的协议&#xff0c;在这个层的协议&#xff0c;只是一种通讯规范&#xff0c;也就是因为双方要进行通讯&#xff0c;大家要事先约定一个规范。 http请求与响应的步骤如下&#xff1a; URL解析、域名解析 输入URL的时候&#xff0c;首先浏览器会…

PHP执行外部程序的方法

引言在一些特殊情况下&#xff0c;会使用PHP调用外部程序执行&#xff0c;比如&#xff1a;调用shell命令、shell脚本、可执行程序等等 PHP执行外部程序的方法 system()&#xff0c;system函数将执行的结果直接输出exec()&#xff1a;执行一个外部程序&#xff0c;将输出结果保…

C语言函数变量的引用

C语言函数变量的引用 有时候&#xff0c;你想引用函数中的某些变量。 #include <stdio.h>int main() {struct guoba{int pang;int piqi;};void tong(int *p){int month1 3;int month5 8;struct guoba xiaoguoba;xiaoguoba.pang month1 month5;*p xiaoguoba.pang ;…

php 终止程序的方法——return、exit()、die()

php中终止程序的运行有三种方式&#xff1a; return&#xff0c;主脚本程序中使用exit()&#xff0c;脚本中使用die()&#xff0c; 脚本中使用三者所在的脚本文件他们之后的代码都不会执行了。php开发模式下想直接看到变量的值使用exit()、die()。 returnreturn是语言结构而不是…