php学习记录
放了寒假.期末考试折腾了一个月都不会写代码了. 一放寒假就找了套PHP培训的课程 在这做些笔记,系统的学习一下php
2017.1.14
介绍集成环境---wamp
Apache服务器根目录 / --- www目录
Bin目
Apache配置文件路径:D:/wamp/bin/apache/Apache2.4.4/conf/httpd.conf
Mysql 配置文件:D:/wamp/bin/mysql/mysql5.6.12/my.ini
Php配置文件:phpinfo();
配置文件路径:
Php支持的扩展(模块)
Apache服务器
Mysql服务器
Php解析器是apache上的扩展模块
服务是可以开启和关闭的
如何开启 如何关闭?
1.图形界面
2.命令 net stop|start|restart 服务名称 wampapache|wampmysqld
3.计算机 -- 右键 管理 --服务和应用程序--服务--wampapche|wampmysqld
配置文件是在服务开启时加载的
修改了配置文件必须重启服务器
Logs 日志文件
Tmp 临时目录中存放的 临时文件
2.php标记
a.<?php.....?>推荐使用标记(混编时)
b.<?php.... 推荐使用(纯php文件)
C.<%....%> aps风格标记 需要在php配置文件修改此选项asp_tags = On 选项名称 = 选项值
D.<?.....?> 短风格标记 必须配置文件开启此选项:short_open_tag = On
E.<script language=”php”>...</script>长风格标记
2017.1.15
看了看php的基础语法
2017.1.16
php中单引号和双引号的区别
☆单引号内部的变量不会执行<=
☆双引号会执行<= 如
$name = 'hello'; echo "the $name"; 会输出 the hello
而如果是单引号
$name = 'hello'; echo 'the $name'; 会输出 the $name 主要区别就是这个
trim rtrim ltrim 函数

PHP自带的库函数 addslashes() 和 stripslashes() 都属于字符串处理类函数,作用正好相反
addslashes()函数原型 string addslashes(string str ,string charlist);

addslashes():对输入字符串中的某些预定义字符前添加反斜杠,这样处理是为了数据库查询语句等的需要。这些预定义字符是:单引号 (') ,双引号 (") ,反斜杠 (\) ,NULL。
stripslashes():删除由 addslashes() 函数添加的反斜杠。该函数用于清理从数据库或 HTML 表单中取回的数据。(若是连续二个反斜杠,则去掉一个,保留一个;若只有一个反斜杠,就直接去掉。)
PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。
不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测
substr函数 函数原型string substr(string str,int start,int length)


php strcmp函数区分大小写 strcasecmp不区分大小写 str1和str2相同返回0
这里在CTF比赛中学习过php5.3以后版本的strcmp的漏洞
if (isset($_GET['a'])) {
if (strcmp($_GET['a'], $flag) == 0)
die('Flag: '.$flag);
else
print '离成功更近一步了';
}
提交数组a[]=1 strcmp函数返回0;输出flag;
strstr函数 string strstr(从哪里查找,查找谁);区分字母大小写从前往后
strchr函数
<?php $email = 'test@test.com@jb51.net'; $domain = strstr($email, '@'); echo "strstr => $domain<br>"."\r"; $domain = strrchr($email, '@'); echo "strrchr => $domain<br>"; ?>

<label>请选择要上传的图片(图片格式为.jpg):</label>
<form method="post" action="index.php" enctype="multipart/form-data">
<input type="hidden" name="action" value="upload" />
<input type="file" name="u_file"/>
<input type="submit" value="上传" />
</form>
<?php
if($_POST[action] == "upload"){ //判断提交按钮是否为空
$file_path = "./uploads\\"; //定义图片在服务器中的存储位置
$picture_name=$_FILES[u_file][name]; //获取上传图片的名称
$picture_name=strstr($picture_name , "."); //通过strstr()函数截取上传图片的后缀
if($picture_name!= ".jpg"){ //根据后缀判断上传图片的格式是否符合要求
echo "<script>alert('上传图片格式不正确,请重新上传'); window.location.href='index.php';</script>";
}else if($_FILES[u_file][tmp_name]){
move_uploaded_file($_FILES[u_file][tmp_name],$file_path.$_FILES[u_file][name]); //执行图片上传
echo "图片上传成功!";
}
else
echo "上传图片失败";
}
?>
substr_count("所有的字符","要查找的字符串")函数检索字符串出现的次数
str_ireplace(需要替换的字符串,替换成,总字符串,次数(可选)); //不区分大小写
str_replace()区分大小写

substr_replace(要操作的字符串,替换成的字符串,开始的位置,长度)


explode()函数 对立函数 implode()
被分割成字符串数组
php学习记录的更多相关文章
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- Java 静态内部类与非静态内部类 学习记录.
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
- Apache Shiro 学习记录4
今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...
- UWP学习记录12-应用到应用的通信
UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...
- UWP学习记录11-设计和UI
UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...
- UWP学习记录10-设计和UI之控件和模式7
UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...
- UWP学习记录9-设计和UI之控件和模式6
UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...
- UWP学习记录8-设计和UI之控件和模式5
UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...
- UWP学习记录7-设计和UI之控件和模式4
UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...
- UWP学习记录6-设计和UI之控件和模式3
UWP学习记录6-设计和UI之控件和模式3 1.按钮 按钮,响应用户输入和引发 Click 事件的控件. 使用<Button>就能创建一个按钮控件了.按钮是 ContentControl, ...
随机推荐
- iframe子页面调用父页面javascript函数的方法
1.iframe子页面调用 父页面js函数 子页面调用父页面函数只需要写上window.parent就可以了.比如调用a()函数,就写成: window.parent.a(); 2.iframe父页面 ...
- ServletConfig与ServletContext对象(接口)
ServletConfig:封装servlet的配置信息. 在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. <ser ...
- JAVA-面向对象2--继承
1. 继承的好处: 1.提高代码复用性. 2.让类与类之间产生关系,为面向对象的第三大特征 多态 提供了前提 2.java中支持单继承,不直接支持多继承,但对c++中多继承进行了改良.java通过多实 ...
- 快学Scala-第九章 文件和正则表达式
知识点: 1.读取文件中的所有行,可以调用scala.io.Source对象的getLines方法: import scala.io.Source val source = Source.from(& ...
- 灵感闪现 篇 (一) 2d场景 3d 效果
中途打断一下 ,框架文档的 更新. 另开一篇主题为 灵感闪现的 板块. 在工作生活中,总有发现新事物或新东西 而让自己突然 灵感闪现的时候,那么这个时候,我必须要抓住,并尽快把 这份灵感实现下来. 之 ...
- javascript语句语义大全(4)
1. var arr1=new Array(2) var arr2=new Array() var arr3=new Array("a","b") var ar ...
- 使用U盘在Mac机上装win8.1系统
1.首先要准备一个8G的U盘,用苹果机格式化为FAT格式.注意:U盘格式化之前要对U盘里的文件备份,U盘格式化后,里边的内容会清空. 2.下载原版win8.1系统,不要下载ghost版,http:// ...
- thinkPHP17---操作绑定到类
首先要配置: "ACTION_BIND_CLASS"=>"TRUE"; 控制器类的定义如下: namespace Home\Controller\Inde ...
- Linux学习 -- Shell编程 -- 字符处理命令
sort排序命令 sort [选项] 文件名 -f 忽略大小m写 -n 按数值型,默认字符串型 -r 反向 -t 指定分隔符 -k n[,m] 指定字段范围,默认行尾 eg. sort -n -t & ...
- 离线dfs CF div2 707 D
http://codeforces.com/contest/707/problem/D 先说一下离线和在线:在线的意思就是每一个询问单独处理复杂度O(多少多少),离线是指将所有的可能的询问先一次都处理 ...

