美高梅官方网站3045-mgm6608美高梅app下载
PHP学习 - PHP Tutorial

PHP学习 - PHP Tutorial

作者:mgm6608美高梅app下载    来源:未知    发布时间:2020-02-10 09:21    浏览量:

第一课:简介

录像地址:

在就学PHP在此以前,必需学会HTML+CSS, js能够理解一些就能够。

PHP: Hypertext Preprocessor 超文本预微处理机。

咱俩知道,html+css是最后浏览器分析的。那么大家在此么的模版中参与PHP那样的超文本与计算机的语法后,经过PHP引擎深入剖析它之后,会变动为全html+css。那么那个PHP代码正是反映了超文本的『预』,PHP引擎正是『预微电脑』。

PHP也得以叫服务端端语言,也许后台语言。做动态的网址要求三个数据库,要连选用数据库,那么需求运用服务端的言语,在那之中风流潇洒种常用的,便是PHP。

我们经常听别人说的WordPress便是由PHP所写,脸书也在应用。PHP不难。

假定大家看看 .php为后缀的文本,大家能够在在那之中写html, js, jQuery, XML等语言,约等于说你能够写过多类型的代码在大家的PHP文件中,固然学习了PHP,那多少个早先创造html文件的人都不会更创立了,会创建php,只需求写HTML在PHP文件中就能够。

Php:脚本语言,网址建设,服务器端运维

其次课:安装本地服务器

课程中是运用xampp,它是适合于Windows,Linux和Mac。

第一步:在google搜索:xampp

那正是结果:

XAMPP有那几个软件:

图片 1图片.png

设置好后运维它:

图片 2图片.png图片 3图片.png图片 4图片.png

XAMPP-VM:

PHP定义:大器晚成种服务器端的HTML脚本/编制程序语言,是后生可畏种轻便的、面向对象的、解释型的、强壮的、安全的、质量特别之高的、独立于布局的、可移植的、动态的脚本语言。是意气风发种管见所及用于Open Source(开放源代码)的尤其符合Web开辟并得以放置HTML的多用项脚本语言。它的语法相近C,Java和Perl,并且轻巧学习。该语言让Web开荒人士快捷的书写动态变化的网页。

第三课

输出打字与印刷:

<?phpecho "Hi, there";print "12";?>

php 配置Edit Configurations

配置PHP Web Application:

*.php文件中,表单如果未有钦赐action,那么暗中认可是交给给本身页面包车型地铁:

<form method="GET"> <input type="text" name="person"> <button>submit</button></form><?php $name = $_GET['person']; echo $name." is a handsome boy.";?>

PHP简介:Rasmus Lerdorf发展进程(1995:1.0个人perl,1997:2.0C底层,1996:3.0zendEngine,2002:4.0session+输出缓冲等,二〇〇四:5.0zend引擎2代),平台帮忙(window,Linux,UNIX),数据库协理(Sqlserver,mysql,Oracle,Access),开拓条件(Apache2,mysql,php)

第四课:变量

<?php$name = "Daniel";echo $name;

服务器:软件,多如牛毛服务(HTTP,FTP,MySQL,telnet等)

第五课:注释

// 单行注释/*多行注释*/

软件布局:cs,bs,PHP地位

第六课:functions,函数

放到方法

echo str_word_count("Hi, Daniel1"); // 2echo strlen("Hi, Daniel"); // 10echo strrev("Hi, Daniel1"); // 1leinaD ,iH rev: reverse

Web访谈:IP,域名,hosts,域名服务器,网址,web访谈

第七课:数据类型

// String$name = "Coding is fun";// Integer$age = 22;// Float$money = 12000.05;// Boolean true,1, false, 0$is_admin = true;// Array$names = array("Ack", "Danieal", "Mack");echo $names['0'], $names[0]; // 输出两次 Ack

经验:

$arr = array('A', 3=>'B', 5=>'C', 'D', "e"=>'E', "F");var_dump; // 结果 [6 elements]0:  "A"3:  "B"5:  "C"6:  "D"e:  "E"7:  "F"

原数据保存:php文件,数据库文件

第八课:算术运算符

<?php echo 5+5; echo 5-5; echo 5*5; echo 5/5; echo 5%5; echo 5**5;?>

搭建web服务器:Wamp,lamp,Apache安装(www.apache.org),MySQL安装,PHP安装(无汉语路线,CMD实施php.exe -f,VC6和VC9),配置(Apache加载PHP模块:LoadModule php5_module “PHP5apachedll路线”;扩展php管理:AddType application/x-httpd-php .php;加载php配置文件:windows,Apache配置文件加载PHPIniDir “PHP配置文件路线”;配置PHP时区:date.timezone)

第九课:赋值运算符

Php操作数据库:PHP开启MySQL扩充,钦赐扩充目录(extension_dir)

第十课:比较运算符

<?php$x = 100;if($x == "100"){ print "yes"; // 打印}if($x === "100") { print "yes2"; // 不打印}if($x === 100) { print "yes3"; // 打印}====$x = 100;$y = "500";if($x < $y) { print "yes"; // 打印。 弱类型语言}?>

Web运转规律:静态,动态

第十大器晚成课:依次增加/依次减少 操作语法

$x = 100;$x++; // 先用$x再加1$x--;--$x; // 先减再使用$x++$x;

虚构主机配置:基于域名虚构主机,包罗vhost配置,编辑设想vhost文件(VirtualHost,ServerName,DocumentRoot),重启,改正hosts文件,localhost重配

第十九课:逻辑操作符

逻辑操作符能够构成八个陈说句也许条件语句在一块。or, andxor||&&or||相同,and&&相同。

$x = 20;$y = 10;if($x == $y or $x == 20){ echo "yes";}

$x = 20;$y = 20;if($x == $y xor 20 == 20){ echo "yes"; // 不会打印}

PHP脚本推行:读入源程序,zendEngine(词法深入分析,语法深入分析),生成opcode,实践opcode,解释,与编写翻译的分歧

第十三课:条件语句

图片 5图片.png

PHP工作:脚本(服务端脚本,须要web服务器和浏览器),命令行脚本

第17课:循环

while,do,for,foreach循环。

for($x = 0; $x < 10; $x ++){ echo "this is ".$x;}

foreach:

$arr = array('A', 3=>'B', 5=>'C', 'D', "e"=>'E', "F");foreach($arr as $item){ echo $item."<br>"; }//结果:打印的都是值ABCDEF

foreach,键=>值:

foreach($arr as $key=>$value){ echo $key.'=>'.$value.' ';}//结果:0=>A 3=>B 5=>C 6=>D e=>E 7=>F 

主题语法:脚本语言(嵌入html),PHP管理(标识识别),标识(,暗中同意,,<%asp标签%>非私下认可,需展开;不提出接收),最末尾标志能够忽视(提议忽视:Ajax重回,节省流量),PHP语句(分号截止,最终一条能够不加)

创制和谐的function

变量:$符号,有效变量名(字母只怕下划线最初,大小写敏感),变量增加和删除改查(unset断开连接),命名准绳(驼峰法,下划线)

引进文件

includerequireinclude_onecerequire_once

常量:定义(define),直接选拔,特点(无法改改,区分朗朗上口写,不能够去除,常量值只好是标量,命名与变量同,无$),常量剖断(defined),输出(constant(‘常量名’State of Qatar)

cookie和session

cookie没有session安全。

使用$_SESSION首先要开起session:

<?php session_start();?><?php$_SESSION['username']="asdas";echo $_SESSION['username'];?>

PHP注释:行注释,块注释

连接到数据库

/includes目录下创立dbh.inc.phpdatabase handler):

$dbServername = "localhost";$dbUsername = "root";$dbPassword = "";$dbName = "loginsystem";$conn = mysqli_connect( $dbServername, $dbUsername, $dbPassword, $dbName);

预订义变量:$_POST,$_GET,$_REQUEST,$_FILES,$_SESSION,$_COOKIE,$GLOBALS,$_SERVER,$_ENV

利用查询

<?php include_once('includes/dbh.inc.php');?><!DOCTYPE html><html><head> <title>Title</title></head><body><?php$sql = "SELECT * FROM users;";$result = mysqli_query($conn, $sql);$resultCheck = mysqli_num_rows;if($resultCheck > 0){ while($row = mysqli_fetch_assoc{ var_dump ; }}?></body></html>

经验:$result = mysqli_query($conn, $sql);施行完现在,并不曾央浼全数数据,只是有贰个结出集,前面包车型客车mysqli_fetch_assoc才是号令结果。

PHP mysqli简介: PDO简介:

插入数据到数据库:

图片 6图片.png

预订义常量:__FILE__,__LINE__,__DIR__,__FUNCTION__,__METHOD__,PHP_OS,PHP_VERSION,PHP_INT_SIZE,PHP_INT_MAX

数组

arrary 类型

1.指数数组

$data = array("Daniel", "John", "Jane");echo $data[0];

2.关周到组

$data = array("first"=>"Daniel", "last"=>"Niel", "age"=>23);echo $data[0];

3.多维数组

$data = array(array("Daniel", "Nielsen"), "John", "Jane");

$data = array();$data[] = "Daniel";$data[] = "Dene";array_push($data, "a"); // 追加数据到数组array_push($data, "a", 12, 2, "21"); // 追加多个array_push($data, 12, "b", ["A", "V"]); // 可以追加数组

可变变量

上传图片

假定是上传文件,必需运用multipart/form-data:

<form action="includes/upload/upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" name="submit" value="upload_img"></form>

结缘方面包车型地铁html代码:

if(isset($_POST['submit']) && $_POST['submit'] == 'upload_img' ){ $file = $_FILES['file']; // 这个 'file'是 form的name=file的 echo "<pre>"; print_r;}//打印结果Array( [name] => A8D55D6A-E6C4-43E3-977B-B6D07ABF8769.png [type] => image/png [tmp_name] => /opt/lampp/temp/phpAQF85z [error] => 0 [size] => 294369)

透过这些$file目的,大家领悟了第生龙活虎把它们拷贝在了路径/opt/lampp/temp/phpAQF85z,然后才会上传。

upload.php实例:

<?php/** * Created by PhpStorm. * User: ldl * Date: 2018/8/14 * Time: 下午3:38 */if(isset($_POST['submit']) && $_POST['submit'] == 'upload_img' && !empty($_FILES['file']) ){ $file = $_FILES['file']; // 这个 'file'是 form的name=file的// echo "<pre>";// print_r; $fileName = $_FILES['file']['name']; $fileTmpName = $_FILES['file']['tmp_name']; $fileSize = $_FILES['file']['size']; $fileError = $_FILES['file']['error']; $fileType = $_FILES['file']['type']; $fileExt = explode('.', $fileName); // 将一个字符串按照给定字符分隔为数组 $fileActualExt = strtolower(end); // $allowedExt = array('jpg', 'jpeg', 'png', 'pdf'); if(in_array($fileActualExt, $allowedExt)){ if($fileError === 0){ if($fileSize < 500000) { // 限定在500mb下. million kilobytes $fileNameNew = strtoupper(uniqid('', false)).'.'.$fileActualExt; $fileDestination = 'uploads/'.$fileNameNew; move_uploaded_file($fileTmpName, $fileDestination); header("Location: index.php?uploadsuccess"); }else { echo "Your file is much too big!"; } }else { echo "There was an error uploading your file!"; } }else { echo "You can not upload this type files!"; }}

传值:值传递,援引传递

数据类型:PHP若类型,八大数据类型(整型,浮点型,布尔型,字符型,数组型,对象型,资源型,空型),三大类(标量,复合,特殊)

整型:十进制,八进制(0),十八进制(0x),内定进制输出(printf,%d,%o,%x),整型取值范围(PHP_INT_SIZE,PHP_INT_MAX),字节,位,进制转变(十转其余,除取余反取;别的转十,求幂),整型溢出(浮点型),时间戳(Green威治时间,time,date)

浮点型:保留小数输出(printf(‘%.2f’卡塔尔,float,double

布尔型:真假,TRUE,FALSE(非0),布尔值输出使用var_dump,FALSE(FALSE,0,0.0,’’,’0’,空数组,null值)

字符串:单引号,双引号,不相同(剖析变量,转义,{},字符串数组),定界符(初步标志和得了独自占领风姿洒脱行,结束标识顶格,深入深入分析变量,转义,实际使用xml)

运算符:算术运算符(+,-,*,/,%),赋值运算符(=,+=,-=,*=,/=,%=,.=),相比运算符(>,<,>=,<=,==,===,!=,!==),错误禁止符(@),自操作运算符(++,--),字符串运算符(.),三目运算符(?:),逻辑运算符(&&and,||or,!),位运算符(&,|,^,~,<<,>>)

原码反码补码:正数原码反码补码相仿,负数符号位除却求反,+1得补码

流程序调整制:顺序构造,分支协会(if,ifelse,ifelse[else],switch[case,break,default]),循环布局(for,while,dowhile,foreach,continue,break)

模板语法:标签语法,分支组织和巡回构造

函数:首要职能(代码重用,模块化编制程序),定义(function函数名(参数列表卡塔尔国),调用(函数名(参数列表卡塔尔),定义与调用无顺序关系,形参,实参,参数传递(值传递,援引传值,私下认可值),重返值(return中断实践,单后生可畏重返值,多再次回到值[援引传递参数]),效率域(全局效用域,局地作用域,功能域针对变量,浓厚分析[js和PHP],超全局功用域,$GLOBALS和global)

作业:标签语法写乘法表

作业:打印*,求素数

作业:发牌程序

佚名函数

伪类型:mixed,number,callback,void,

数据类型转变:int,integer,bool,Boolean,float,string,array,object,自动转变(值调换)

数据类型判别:is_bool,is_float,is_integer,is_object,is_array,is_string,is_resource,is_scalar,is_null,is_numeric,gettype,settype

援用文件:require,include,require_once,include_once,功用(结构,满含公共文件),文件载入原理(加载非推行,将编写翻译后的文书加载),require和include的不一样,文件重回(配置文件)

结束脚本:return,exit,die

载入文件路线:相对路线,相对路线(./,../,/),文件载入的相对路线难题

字符串相关函数:strlen,substr,strtolower,strtoupper,strrev,strpos,strrpos,strchr,strrchr(获取文件后缀名),trim

岁月相关函数:time,date,strtotime,microtime

数学相关函数:abs,floor,ceil,round,rand,mt_rand

数组:概念,使用数组原因(变量关联),PHP数组特点(没有数据类型,数组下标可为字符串[不可能动用for循环遍历],数高管度可变不会溢出),数组定义(array,[]),数组不能够直接echo,数老总度(count,遍历),foreach(原理:赋值+指针下移)

二维数组:定义,语法,二维数组遍历,关联二维数组,遍历

Each+list:each(语法),list(语法,只好得到索引数组成分,依照索引顺序赋值),each和list组合遍历数组,each与foreach区别(foreach原理,each原理)

数组相关函数:key,current,next,prev,end,reset,array_keys,array_values,数据布局模拟(array_shift,array_unshift,array_push,array_pop),字符串分割(explode,implode),array_walk_recursive(回调函数,按址传递)

数组运算:+,array_merge

数组比较:==,===

别的函数:range,array_rand,shuffle

SQL注入:原理,建设方案(addslashes,stripslashes,magic_quotes_gpc5.3前,get_magic_quotes_gpc),公共函数(array_walk_recursive对$_POST转义)

数组算法:排序(冒泡,插入,选拔,快排),查找(自定义查找,二分法)

表单传值:网址指标(数据管理:收罗,收拾,存储,公布),搜聚(表单实现),数据传递(url,form),传值格局(get,post)

数码选择:$_GET,$_POST,$_REQUEST,数据管理,$_REQUEST不值得信任(覆盖,request_order,variables_order)

点击行为判别:isset($_POST[‘submit’])/empty()

活动配置全局变量:register_gloabals5.3

复选框使用:[],入库(字符拼接),展现复选框音讯(checked),批量删减

文件上传:概念,难点(浏览器端,服务端),流程(表单post,enctype=’multipart/form-data’,PHP配置file_uploads,配置项表明(file_uploades,upload_max_filesize,post_max_size,upload_tmp_dirState of Qatar),文件上传流程(本地选用文件,提交,文件发送到服务器一时目录,转义临时文件)

PHP处理:$_FILES,$_FILES表达,文件移动(copy,move_uploaded_file),验证文件类型(MIME),文件重命名(唯风度翩翩性,可识别区分)

上传函数装进

文件操作:原因(保存不日常转移数据量小的数额;配置文件,流量总计,静态网页生成,文件下载。。。)

目录操作:opendir,readdir,rewinddir,closedir,scandir

自定义完毕scandir函数效率

文本剖断:file_exists,is_dir,is_file,mkdir,rmdir,getcwd,chdir,文件上传按月分类管理

巡回输出文件夹下全体文件及子文件夹:静态变量,函数递归(原理,递归点,递归出口)

文本操作:读和写,PHP5(file_get_contents,file_put_contents[FILE_APPEND,FILE_USE_INCLUDE_PATH],array file),PHP4(fopen,Mode[r,r+,w,w+,a,a+],fgetc,fgets,fread,fputs,fwrite,fclose,fseek)

文件有关函数:copy,unlink,rename,filemtime,filesize,fileperms

文件下载:html下载(a href=‘use.zip’,短处:文件格式轻松,揭示文件完整路线),PHP(header("Content-type:

application/octet-stream"),header("Content-Disposition:

attachment; filename=filename" 卡塔尔(قطر‎,输出文件内容)

作业:

1.文本上传保存到数据库(路线)

2.站点计数功能:记录访客记录,IP,访谈时间

3.循环删除空文件夹

4.下载站点制作:数据库达成(序号,文件名,描述,地址,下载次数,假名)

5.斐波那契数列:后须臾间十分前两项的和,求N项值

6.100以内素数

【第四盘部】

0你Mysql扩展库,PHP操作mysql

PHP操作mysql数据库的最紧要扩张库:mysql(面向进度),mysqli(面向进度和指标),pdo(面向对象)

布置mysql扩充库:php.ini加载extension,配置扩大路线extension_dir

PHP操作mysql:原理,连接数据库(mysql_connect[host,user,pass,new_link]),关闭连接(mysql_close),选用数据库(mysql_select_db),发送sql(mysql_query,分歧档案的次序sql的再次来到值不一致),分析结果融财富(mysql_num_rows结果集行数,mysql_fetch体系获得结果集中数据,结果集指针,遍历结果集)

其他连锁函数:受影响行数(mysql_affected_rows),新扩张多少的ID(mysql_insert_id),设置结果集指针(mysql_data_seek)

注册成功跳转职能,分页功效(一次性得到,按页获取)

HTTP左券:超文本传输左券,b/s布局项目遵照的主干协议,浏览器服务器通讯的基本原理(央求连接(TCP/IP合同),连接成功,浏览器发送央求,服务器管理伏乞,浏览器处理结果,关闭连接),HTTP公约两有些(央浼,响应),url,特点(帮忙客商/服务器情势,轻巧便捷[只需伏乞方法和路径],灵活[轻松数据],无连接[老是一连只管理多个诉求],无状态[事务管理没有记念工夫])

HTTP诉求:四有的(伏乞行,央浼头,空行,央求主体),伏乞行(央求情势,须求文件,公约/版本),乞求头(host,accept-encoding,referer,connection,accept-language,cookie,user-agent,accept,content-length(post),if-modified-since(get),content-type(post)),空白行,诉求主体(post诉求数据),telnet模拟须要

HTTP响应:四局地(状态行,响应头,空行,响应核心),状态行(合同/版本,状态码,状态表明),响应头(server,date,last-modified,content-length,content-type,location,refresh,content-encodeing,cache-control),空行,响应中央(内容),header早先无法出口,header设置cookie

函数调用前不可能出口的函数:session_start,setcookie,header,output_buffering

常用回应情况消息:1XX(服务器收到哀告,继续管理),2XX(成功,200),3XX(重定向,302重定向,304不曾更动),4XX(央求错误,404找不到,403明确命令防止),5XX(服务器错误,502失效响应)

PHP模拟响应和央浼:响应(跳转,刷新,发送图片,下载(application/octet-stream,content-disposition:attachment;filename),诉求(fsockopen,fwrite,feof,fgets,get诉求,post央浼)

面向对象:面向进程(操作流程)和面向对象(操作主体),oop(风姿浪漫种软件设计架盘算想)

基本概念:类(对象的架空),对象(类的实例化/类项目(自定义数据类型)),实例化,成员(类中的变量,函数,常量)

语法操作:定义类(class),实例化(new,带括号,不带括号),强逼转变(object),stdClass(空类),访谈修饰节制符(var,public,protected,private,分歧),对象访谈成员(->),类中成员独有多少个(属性,方法和常量,不能够echo),属性定义的值必得是固定值,怎么着访谈私有属性(方法,$this)

内部存款和储蓄器表明:类,对象,方法,属性(从空间利用上划分,非内部存款和储蓄器划分)

魔术点子:布局方法(开始化),析构方法(释放能源,unset对象),布局方法私有化

布局方法包容:类名方法

大小写区分:属性,数组下标和变量

目的传递:引用传递

指标比较:==(同类对象且属性值雷同),===(同风华正茂对象)

DB类:类公事命名(类名.class.php)

作业:封装getAll和getRow方法

活动加载:实例化对象前必得有类定义,自动加载(__autoload),自动加载原理,自动加载冲突(spl_autoload_register)

类常量:定义(const),内部存款和储蓄器划分,访谈(类访谈,范围拆解剖析操作符,对象访谈(方法)),self关键字,self和this分歧

静态成员:定义(static),属性,方法,访问(范围深入剖判操作符),静态属性与常量的拜会分裂

指标计数器制作:思路

静态方法与非静态方法分别($this)

魔术点子:__toString()(echo对象),__clone(卡塔尔(قطر‎(复制作而成分裂对象,克隆不走布局方法,阻止克隆(private))

单例情势:概念(二个类独有三个目的),原因(省财富),原理(三私后生可畏公)

厂子形式:概念(产生对象),原因(方便管理),工厂单例形式

面向对象不自然有类(js)

下一篇:没有了
友情链接: 网站地图
Copyright © 2015-2019 http://www.zen-40.com. mgm美高梅有限公司 版权所有