PHP 系统学习-程序员宅基地

技术标签: date  file  session  function  PHP  php  加密  

define("god","123",true);// 定义常量(true 为不区分大小写)

constant("god")."<br />";//输出常量

echo (define("god")."<br />"); //输出常量是否被定义

 

 

预定义变量

echo $_SERVER["SERVER_ADDR"];//服务器ip地址  

echo $_SERVER["SERVER_NAME"];//服务器主机名称 

echo $_SERVER["REMOTE_ADDR"];//浏览用户ip地址

 

 

//echo trim("字符串","想去掉的特殊字符");

echo trim("12str 11","12 11")."<br />"; //去掉两边的字符

echo ltrim("12str 11","12 11")."<br />";//去掉左边的字符

echo rtrim("12str 11","12 11")."<br />";//去掉右边的字符

 

//转义字符

echo "/"";            //转移字符

echo addslashes("/"");///一样,是不过是函数

echo stripcslashes("/"");//addslashes()函数进行反转义

 

//字符串长度

echo strlen("123");

 

//截取字符串, echo substr("str",开始位置(0开始), 截取长度(负数为倒数));

echo substr("str",1,2);

 

//获得post 提交数据 pwd 位文本框name

$_POST['pwd'];

 

//字符串比较 true =1 false = -1

    echo strcmp("11","11");

 

//检索字符串(以搜寻字符串开始的剩余字符串,没找到返回false)

echo strstr("123","2");

 

//检索出现次数

echo substr_count("123212","1");

 

//字符串替换

str_ireplace("被替掉内容","替换内容","要替换字符串");

echo str_ireplace("11","22","1112233");

 

 

//字符串替换

echo substr_replace(要替换串,替换成串,替换串开始位置,替换串结束位置);

echo substr_replace("1134","22",0,2);

 

//格式化数字

后面位数以千位进行加逗号

echo number_format("12334.56",2);

 

//拆分字符串

explode(拆分串,被拆分串,控制产生数组数量);

$arr = explode("|","aa|bb|cc");

print_r($arr);

echo $arr[0];

echo $arr[1];

echo $arr[2];

 

//数组

//定义键值对 数组

$arr = array("god1"=>1,"god2"=>2,"god3"=>3);

echo $arr["god1"]."<br />";

$arr["god1"] = 123;

echo $arr["god1"];

 

//二维数组

$arr = array(

         god1=>array("1","2","3"),

         god2=>array("4","5","6"),

         god3=>array("7","8","9")

);

print_r($arr);

 

//遍历数组

$arr = array("god1"=>1,"god2"=>2,"god3"=>3);

foreach ( $arr as $key  ) {

    echo "$key"."<br />";

}

 

 

//list 遍历数组 each()函数的作用是:返回数组中当前的键和值并将数组指针向前移动一步

         $arr = array("god1"=>1,"god2"=>2,"god3"=>3);

         while(list($name,$value)= each($arr)){

                   echo "$name$value";

         }

 

 

//合并数组("god1" 键值相等的覆盖,不相等的合并,放在后面)

$arr1 = array("god1"=>1,"god2"=>2,"god3"=>3);

$arr2 = array("god3"=>1,"god4"=>2,"god5"=>3);

$arr3 =  array_merge($arr1,$arr2);

print_r($arr3);

 

//合并数组 内容 explode

$arr = array("1","2","3");

echo implode($arr)

 

//统计数组数量

echo  count($arr,COUNT_RECURSIVE);

 

//数组排序

$arr = array("1","3","2");

echo sort($arr); //升序

echo rsort($arr);//降序

echo ksort ($arr);// 对数组按照键名顺向排序,元素的键名保持不变。

foreach ( $arr as $key  ) {

    echo "$key";

}

 

//获得post

$values = $_POST["name"];

//获得get

$values = $_GET["name"];

//获得session

$values = $_SESSION["name"];

 

//包含php代码

<?php

    include("页名");

?>

 

 

//日期格式操作函数

//获得时间日期

echo date(DATE_ATOM)."<br />";//原子日期格式

echo date(DATE_COOKIE);//cookie 有效时间

echo date(DATE_W3C);//W3C 格式

 

 

 

//获得日期信息

$datearr = getdate();

echo $datearr["year"]."<br />";//

echo $datearr["mon"]."<br />";//

echo $datearr["mday"]."<br />";//日期

echo $datearr["hours"]."<br />";//小时

echo $datearr["minutes"]."<br />";//分钟

echo $datearr["seconds"]."<br />";//

echo $datearr["weekday"]."<br />";//星期

 

 

//检查日期格式

$year = 2008;

$month = 2;

$day1 = 29;

$day2 = 30;

var_dump( checkdate($year,$month,$day1));

 

 

//设置本地化语言格式

setlocale(LC_ALL,"chs");//中文简体

echo strftime("今天是%A");

echo "<p>";

setlocale(LC_ALL,"cht");//中文繁体

echo strftime("今天是%A");

 

//时间戳

echo mktime();//时间戳

echo date("Y-m-d",mktime());//转化为我们认识的形式

echo date("H:i:s",mktime());//转化为我们认识的形式

//计算时间

echo strtotime(mktime()) - strtotime(mktime());

 

//计算搜索时间

list($val1,$val2) = explode(" ",microtime());

echo "微秒数".$val1."<br />";

echo "秒数".$val2."<br />";

 

 

 

 

 

 

 

//统计流量 $_COOKIE["content"] 全局变量

if(!empty($_COOKIE["content"])){

         $content = $_COOKIE["content"]+1;

}else{

         $content = 1;

}

setcookie("god",$content,time()+100);

 

//session  操作

session_start();//开始会话 , 在第一行,前面不能加空格,打印

if(!empty($_SESSION["admin"])){//不为空给内容赋给一个变量

         $value = $_SESSION["admin"];

}

unset($_SESSION["admin"]);//结束单个会话

$_SESSION= array();//删除多个会话

session_destroy();//结束本次会话

 

//打开gb图形库

extension=php_gd2.dll

 

 

//第三个选项为true 将使用,user_include_path = 设置默认路径

//第二个参数为读取方式,只读,只写,二进制,文本

$file = fopen("d:/product.xml","rb",true);//打开

fclose($file);//关闭

        

//读取放入缓冲,不用关闭

readfile("d:/product.xml");

        

//读取变成数组

$arr  = file("d:/product.xml");

foreach($arr as $value){

         echo $value."<br />";

}

 

file_get_contents("d:/product.xml");//读取变成字符串(可以读取二进制数据,还有长度限制参数,第二个第三个参数)

$file = fopen("d:/product.xml","rb");

while(!feof($file)){

         echo fgets($file);//不能去掉html字符

}

fclose($file);//关闭

 

 

 

$file = fopen("d:/product.xml","rb");//打开

while(!feof($file)){

         echo fgetss($file);//能去掉HTML字符

}

fclose($file);//关闭

 

//写入文件

file_put_contents("d:/phptest.txt","test");

readfile("d:/phptest.txt");

 

//文件copy

copy("d:/phptest.txt","d:/phptest2.txt");

 

 

//重命名

rename("d:/phptest.txt","d:/phptest3.txt");

 

//最后一次访问文件时间

echo fileatime("d:/phptest2.txt")."<br />";

        

//最后一次修改时间

echo filemtime("d:/phptest2.txt")."<br />";

        

//文件大小

echo filesize("d:/phptest2.txt")."<br />";

        

//文件路径信息

pathinfo("d:/phptest2.txt");

        

//返回文件绝对路径

echo realpath("d:/phptest2.txt");

        

//访问相关信息(上面得大小,路径)

stat("d:/phptest2.txt");

 

 

//打开目录

$dir =  opendir("d://")

        

//关闭目录

closedir("d://");

        

//建立文件目录

mkdir("d:/god1/");

        

//删除文件目录

rmdir("d:/god1/");

 

//获得当前工作目录

echo getcwd();

 

//改变当前目录

echo chdir(改变目录);

 

//返回目录可用空间

disk_free_space("d:/god1/");

        

//返回目录总空间大小

disk_total_space("d:/god1/");

        

//返回文件(参数为指针)

readdir(resource);

        

//将指针调到目录头

rewinddir(resource);

        

//php.ini allow_url_fopen = On 可以在 fopen("http://127.0.0.1/localhost/11/t.txt","rb");//使用http

 

//声明类

class myclass{

         const PI = 3.14;//常量

         public $num = 0;//变量

         function __construct(){ //构造方法级别最高

                   $this -> $num = 1;

         }

         function destruct(){ //析构方法:当某个对象成为垃圾或者当对象被显式销毁时执行。

                   $this -> $num = 1;

         }

         function myclass(){ //本类构造方法级别没有__construct()

                            $num = 2;

         }

         function hello(){ //函数

                   echo "hello word!";

         }

}

 

class myclass2 extends myclass{

         public $num = 123;//变量

         function __construct(){//构造方法级别最高

                   parent::__construct();//调用父类的构造方法

         }

}

 

        

//实例化

$myclass = new myclass();

//使用类方法

$myclass -> hello();

//变量

echo $myclass -> num;

//产量 ::作用域操作符 不用声明对象

echo myclass::PI;

 

// “==” 比较对象内容 “===”  比较对象引用地址

 

 

//加密

//单向加密

//echo crypt("加密字符串","干扰串");//使用干扰串,每次生成都是相同的

echo crypt("加密字符串");//没次改变

        

//每次进行2进制数字串编码(不改变)

md5("加密字符串");

        

//sale(不改变)

sha1(("加密字符串");

 

//adodb 操作

//1.包含文件

include_once("adodb/adodb.inc.php");

//2.建立连接

$conn = ADONewConnection("mysql");

//3.连接数据库

$conn -> PConnect("localhost","root","root","drupal");

//4.设置编码

$conn -> execute("set names gb2312");

//5.执行sql

$rs  = $conn -> Execute("select * from actions ") or die ("执行错误");

//6.查询

         while(! $rs -> EOF){

                   echo $rs -> fields["aid"]."<br />";

                   $rs -> movenext();

         }

         //7.关闭

         $rs -> close();

         $conn -> close();

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xxxx1243/article/details/4266555

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf

推荐文章

热门文章

相关标签