index.php 黑道正能量index.php

   2023-02-09 学习力0
核心提示:PHP是一种创建动态交互性站点的强有力的服务器端脚本语言(后端、弱类型)从地址栏直接寻找:localhost/路径/路径PHP语法:PHP脚本以?php 开始,以?结束;PHP文件通常包含HTML标签和一些PHP脚本代码。PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,
PHP是一种创建动态交互性站点的强有力的服务器端脚本语言(后端、弱类型)
从地址栏直接寻找:localhost/路径/路径
PHP语法:
PHP脚本以<?php 开始,以?>结束;
PHP文件通常包含HTML标签和一些PHP脚本代码。
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
通过 PHP,有四种在浏览器输出文本的基础指令:echo,var_dump 和 print,print_r。
echo 可以同时输出一个或多个字符串,之间用逗号隔开
var_dump 输出一个变量的详细信息,判断变量的类型和长度并输出变量的值(数值),
如果变量有值则数的是变量的值以及返回类型。此函数显示关于一个或多个表达式的详细结构信息,
包括表达式的类型和值,数组将递归展开值,通过缩进显示其结构 print 只能输出一个字符串(他的参数),如果成功返回true,否则返回false print_r 可以把字符和数字简单打印出来,而数组则括起来的健和值的列表形式显示并以array开头,
但是print_r输出布尔值和null的结果没有意义,因为都是打印“\n”,因此用var_dump更适合调试 函数:封装某一块功能,如果下次想用这种功能可以直接调用 四要素:返回类型,函数名,参数列表,函数体 强类型函数:string Show(int a){函数体} 弱类型:function(关键字,代表它是一个函数) Show(参数){函数体} 匿名函数:function(){} js里面经常用在地方(事件)上,其他语言函数多用在(封装)功能上 随机数生成:Math.random(); 日期时间函数(需要用变量调用): var b = new Date(); //获取当前时间 b.getTime() //获取时间戳 b.getFullYear() //获取年份 b.getMonth()+1; //获取月份 b.getDate() //获取天 b.getHours() //获取小时 b.getMinutes() //获取分钟 b.getSeconds() //获取秒数 b.getDay() //获取星期几 b.getMilliseconds() //获取毫秒 数学函数(用Math来调用): abs(x) 返回数的绝对值。 ceil(x) 对小数进行上舍入。 floor(x) 对数进行下舍入。 round(x) 把数四舍五入为最接近的整数。 max(x,y) 返回 x 和 y 中的最高值。 min(x,y) 返回 x 和 y 中的最低值。 pow(x,y) 返回 x 的 y 次幂。 sqrt(x) 返回数的平方根。 random() 返回 0 ~ 1 之间的随机数。 **** 字符串函数(用变量来调用): indexOf()返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。 var index1 = a.indexOf("l"); //index1 = 2 charAt 返回指定位置的字符。 var get_char = a.charAt(0); //get_char = "h" lastIndexOf 返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。 var index1 = lastIndexOf('l'); //index1 = 3 match 检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。 var re = new RegExp(/^\w+$/); var is_alpha1 = a.match(re); //is_alpha1 = "hello" var is_alpha2 = b.match(re); //is_alpha2 = null substring 返回字符串的一个子串,传入参数是起始位置和结束位置。 var sub_string2 = a.substring(1,4); //sub_string2 = "ell" substr ******** 返回字符串的一个子串,传入参数是起始位置和长度 var sub_string1 = a.substr(1); //sub_string1 = "ello" var sub_string2 = a.substr(1,4); //sub_string2 = "ello" replace ******* 替换字符串,第一个参数代表被替换的字符串,第二个参数代表替换的字符串 a.replace("he","aa") search 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。 var index1 = a.search(re); //index1 = 0 var index2 = b.search(re); //index2 = -1 split ****** 通过将字符串划分成子串,将一个字符串做成一个字符串数组。 var arr1 = a.split(""); //arr1 = [h,e,l,l,o] length 属性 ******* 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。 toLowerCase 将整个字符串转成小写字母。 var lower_string = a.toLowerCase(); //lower_string = "hello" toUpperCase 将整个字符串转成大写字母。 var upper_string = a.toUpperCase(); //upper_string = "HELLO" PHP变量: $a=10; 整数变量 可以自动转换类型 强制转换类型: $a = 10; $a = (string) $a; var_dump($a); settype($a,"string") var_dump($a); 变量定义: 定义字符串的方式 $a = "" $a = '' $a = <<<A A; 双引号里面可以解析转义字符,单引号不可以 双引号里面可以解析变量用花括号隔开 PHP里面拼接字符串用小数点 可变变量: $a=111 $111=czx echo $$a; 会输出czx 输出语法: echo $a; print $a; print_r( 变量 ); 专门打印数组 var_dump( 变量 ); 输出变量信息 常用函数: rand(); 生成随机数 rand(0,50); 范围随机数 时间: time(); 取当前时间戳 date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前小时 i:当前分钟 s:当前秒数 strlen(字符串); 可以获取字符串长度 strcmp(变量,字符串);可以比较两个值得大小 strtolower(变量或字符串); 可以改小写 strtoupper(变量或字符串); 可以改大写 explode("",变量); 拆分字符串 substr_replace(变量/字符串,用什么替换,从哪个位置替换,替换长度); str_replace(); 查找替换 数组方法: in_array(查找的值,数组); 可以判断是否在数字里面 array_reverse(数组); 翻转数组 array_unique(数组); 可以删除相同的值(去重) unset(数组[]); 可以删除数组的元素,但是索引不是连续 array_values(数组) 重置索引 var_dump(empty($a)); 判断变量是否为空 var_dump(isset($a)); 判断变量是否定义 unset(变量); 删除变量 &代表变量的地址: $a = ; $b = &$a; $b = 5; echo $a; 运算符: a+b 相加 a-b 相减 a*b 相乘 a/b 相除 a%b 取余 -a 取反 a.b 连接两个字符串 a+=b a=a+b 左侧的字符串等于原字符串加另一个字符串 a-=b a=a-b 左侧的字符串等于原字符串减另一个字符串 a*=b a=a*b 左侧的字符串等于原字符串乘另一个字符串 a/=b a=a/b 左侧的字符串等于原字符串除另一个字符串 a%b a=a%b 左侧的字符串等于原字符串除另一个字符串的余数 a.=b a=a.b 原字符串链接另一个字符串 a==b 等于 a!=b(a<>b) 不等于 a<b 小于 a>b 大于 a<=b 小于等于 a>=b 大于等于 a and b 与 如果 a 和 b 都为 true,则返回 true (a && b) a or b 或 如果 x 和 y 至少有一个为 true,则返回 true (a || b) !a 非 取反值 三元运算符:(三目运算符) $a = 10; $b = 8; echo $a==$b?"相等":"不相等 错误抑制符:@(放在输出语句得前面) PHP三种错误类型 Notice:提醒 Warning:警告 error:错误

 下面是常用的知识点总结

header("Content-type: text/html; charset=utf-8");  
echo "<a href='index2.php'>跳到index2<a/>";
$hens= array(12.4,90,90);
$sum=0;
for($i=0;$i<count($hens);$i++){
  $sum+=$hens[$i];
  }
echo '小鸡鸡总重量='.$sum." 平均重量=".$sum/count($hens)."<br/>";
echo "<hr/>";
$colors = array('red', 'blue', 'green', 'yellow');
foreach ($colors as $color) {
    echo "Do you like $color?<br/>";
}
echo "<hr/>";
echo "*********输出键值对*********<br/>";
foreach ($colors as $key => $val){
   echo '键'.$key."<br/>";
   echo '值'.$val."<br/>";
   echo $key.'='.$val."<br/>";
}
echo "<hr/>";
echo "*********普通的方式遍历*********<br/>";
for($i=0;$i<count($colors);$i++){
	echo $colors[$i]."<br/>";
}
echo "<hr/>";
//方式一
$arr[0]=23;
$arr[1]=90;
$arr[2]="hello,world";
/*foreach($arr as $hsp){
  echo $hsp." ";
}*/

//方式二 foreach($arr as $key=>$val){   echo "key=".$key." val=".$val."<br/>"; } echo "*****************************<br/>";
//方式三 for($i=0;$i<count($arr);$i++){   echo 'arr['.$i.']='.$arr[$i].'<br/>'; } echo "<hr/>";
echo "单例模式"; class single{   protected $a;   protected static $ins = null;   protected function __construct(){ $this->a=mt_rand(1,10); }   public static function getIns(){ if(self::$ins === null){ self::$ins=new self(); } return self::$ins;   } } $s1=single::getIns(); $s2=single::getIns(); var_dump($s2); var_dump($s1); var_dump(empty($s1));//返回false echo gettype($s1); echo gettype($s2); echo "<hr/>";
echo "变量的传递"; $a = 6; $b = &$a; // unset($a); // $a = 8; // $b = 10; var_dump($a,$b); echo "<hr/>"; echo "变量的重定义<br/>"; $laoda = 'liubei'; //echo $laoda; $paihang = 'laoda'; //echo $$paihang;//liubei $rank = 'paihang'; echo '$$$rank的值是'.$$$rank; echo "<br/>";   if($pos = strpos($rank, 'e')){//找不到e的位置 echo "$pos";   }   else{ echo "找不到e的位置";   } echo "<br/>"; echo '用三元运算符'.$pos = strpos($rank, 'e')?$pos:'找不到'; echo "<hr/>"; echo "函数有点奇怪<br/>"; function good(){   echo 'haha'; } function bad(){   echo 'wuwu'; } $heart = 'bad'; echo $heart;// $heart(); echo "<hr/>"; echo "php里面的函数不区分大小写<br/>"; function jia(){   return '!'; } echo JIA(); echo "<hr/>"; echo "奇怪的函数"; echo "<br/>"; function add($a,$b){   $sum = $a+$b;   $a = $a-1;   $b = $b-1;   echo '~~~~~';   return $sum; } echo add(7,8); echo "<hr/>"; echo '$global'.'会打印全部变量和变量值'; function d(){   $GLOBALS['age'] = 23;   $GLOBALS['gender'] = 'nv'; } d(); var_dump($GLOBALS); echo $age; echo "<br/>"; echo $gender; echo "<hr/>"; echo "简单防盗链"; // 防盗链:HTTP_REFERER检查进入页面的路径是否存在,存在即是有明确的来源路径,不存在即是来源路径不明(或是直接地址栏输入或是点击打开.html文件) // 防止自己的图片被别的网站直接复制使用,图片便会按照程序的设定不显示或显示防盗链等字样。 if (isset($_SERVER['HTTP_REFERER'])) {   // 判断isset($_SERVER['HTTP_REFERER']是不是http://localhost开头的   if (strpos(isset($_SERVER['HTTP_REFERER']),"http://localhost")==0) { echo "welcome,you are right"; // echo strpos($_SERVER['HTTP_REFERER'],"localhost");   }else{ // 跳转 echo "welcome,you are wrongman";   } }else{ echo "welcome,you are wrongman"; } echo "打印环境变量"; foreach ($_SERVER as $key => $value) {   echo "$key=$value <br/>"; } // 获取当前访问页面的ip echo "朋友你的IP是:".$_SERVER['REMOTE_ADDR']."<br/>"; // 防盗链:检查进入页面的路径是否存在,存在即是有明确的来源路径,不存在即是来源路径不明(或是直接地址栏输入或是点击打开.html文件) if($_SERVER['REMOTE_ADDR']=="127.0.0.1"){   // header("location:404.php");   echo "你是127.0.0.1来的,我可以屏蔽你"; } echo "<hr/>"; $self=@$_SERVER['HTTP_REFERER']; //获取链接到当前页面的前一页面的 URL 地址 $u=$_SERVER['HTTP_HOST']; //获取当前请求的Host头信息的内容 $r=$_SERVER['PHP_SELF']; //获取当前正在执行脚本的文件名 $l=$_SERVER['QUERY_STRING']; //获取查询(query)的字符串(URL 中第一个问号 ? 之后的内容) $url="http://"."$u"."$r"."?"."$l"; //将获取的变量组成一个字符串,即完整的路径 echo '这个路径是'.$url."<br/>";

 

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • php-fpm进程管理的三种模式 phpfpm子进程
    php-fpm进程管理的三种模式 phpfpm子进程
    php-fpm解读-进程管理的三种模式—程序媛大丽标明转载以示尊重 感谢原作者的分享。php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worke
    03-08
  • nginx和php-fpm 是使用 tcp socket 还是 unix s
    tcp socket允许通过网络进程之间的通信,也可以通过loopback进行本地进程之间通信。unix socket允许在本地运行的进程之间进行通信。分析从上面的图片可以看,unix socket减少了不必要的tcp开销,而tcp需要经过loopback,还要申请临时端口和tcp相关资源。但是
    03-08
  • [PHP8] 我参加了PHP8工程师认证初学者考试beta考试
    [PHP8] 我参加了PHP8工程师认证初学者考试beta
    前几天,2022/08/05,PHP工程师认证机构PHP8 技术员认证初级考试宣布实施考试将于 2023 年春季开始。和 beta 测试完成于 2022/09/11所以我收到了。一般社团法人BOSS-CON JAPAN(代表理事:Tadashi Yoshimasa,地点:东京都世田谷区,以下简称“BOSS-CON JAPAN
    03-08
  • 将 PHP Insights 放入旧版 PJ 不是很好吗?谈论
    将 PHP Insights 放入旧版 PJ 不是很好吗?谈论
    介绍在最近的PHP系统开发中,感觉故事在理所当然包含静态分析工具的前提下进行。我的周围现有代码很脏,我很久以前安装了工具,但几乎没有检查已经观察到许多这样的案例。 (这是小说。而不是像 0 或 100 这样不允许单行错误的静态分析,一点一点,逐渐我想介
    03-08
  • PHP基于elasticsearch全文搜索引擎的开发 php使
    1.概述:全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接
    02-09
  • php视图操作
    一、视图的基本介绍         视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。        使用视图需要MySQL5及以后的版本支持。        下面是视图的一些常见应用:        重用SQL语句;        简化复杂的S
    02-09
  • php中图像处理的常用函数 php图形图像处理技术
    php中图像处理的常用函数 php图形图像处理技术
    1.imagecreate()函数imagecreate()函数是基于一个调色板的画布。?php $im = imagecreate(200,80);                //创建一个宽200,高80的画布。$white = imagecolorallocate($im,225,35,180);     //设置画布的背景颜色imagegif($im);
    02-09
  • PHP安全之webshell和后门检测
    PHP安全之webshell和后门检测
    基于PHP的应用面临着各种各样的攻击:XSS:对PHP的Web应用而言,跨站脚本是一个易受攻击的点。攻击者可以利用它盗取用户信息。你可以配置Apache,或是写更安全的PHP代码(验证所有用户输入)来防范XSS攻击SQL注入:这是PHP应用中,数据库层的易受攻击点。防范
    02-09
  • php使用时间戳保存时间的意义 PHP获取时间戳
    时间戳记录的是格林尼治时间,使用date格式化的时候会根据你程序设置的不同时区显示不同的时间。如果使用具体时间,则还需要进行多一步转换。
    02-09
  • PHP 获取提交表单数据方法
    PHP $_GET 和 $_POST变量是用来获取表单中的信息的,比如用户输入的信息。PHP表单操作在我们处理HTML表单和PHP表单时,我们要记住的重要一点是:HTML页面中的任何一个表单元素都可以自动的用于PHP脚本:表单举例: htmlbodyform action="welcome.php" method
    02-09
点击排行