• 意外的php之学习笔记


    版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/gc_gongchao/article/details/37312039

     

     

    什么是php

    php是指超文本预处理器。php是一种server端的脚本语言,php脚本在server上运行。

    什么是php文件?

    php文件可包括文本、HTML标签以及脚本,php文件向浏览器返回纯粹的HTMLphp文件的文件后缀是”.php””.php3””.phtml ”

    你无法在浏览器中通过查看源文档的方式来查看php的源码。

    你仅仅能看到php文件的输出。即纯粹的HTML。这是由于在结果返回浏览器之前。脚本就已经在server运行了。

    主要的php语法:

    php的脚本块以<php開始。以?>结束。你能够把php的脚本块放置在文档中的不论什么位置。

    当然,在支持简写的server上。你能够使用<?和?>来開始和结束脚本块,只是为了达到最好的兼容性。我们推荐你使用标准形式(<?php),而不是简写形式。

    php文件一般会包括HTML标签。就像一个HTML文件。以及一些php脚本代码。

    php中的每一个代码行都必须以分号。分号是一种分隔符,用于把指令集区分开来。

    有两种通过php来输出文本的基础指令:echoprint。一般使用echo

    php变量

    变量用于存储值,比方数字、字符串或函数的结果。这样我们就能够在脚本中多次使用它们了。

    php中的变量

    变量用于存储值,比方数字、文本字符串或数组

    一旦设置了某个变量,我们就能够在脚本中反复地使用它。

    php中的全部变量都是以$符号開始的。

    php是一门松散类型的语言

    php中。不须要在设置变量之前声明该变量

    依据变量被设置的方式,php会自己主动地把变量转换成正确的数据类型。

    在强类型的编程语言中,你必须在使用前声明变量的类型和名称。

    php中。变量会在使用时被自己主动声明。

    变量的命名规则:

    变量名必须以字母或下划线”_”开头

    变量名仅仅能包括字母数字字符以及下划线

    变量名不能包括空格。假设变量名由多个单词组成,那么应该使用下划线进行分隔,或者以大写字母开头。

    php字符串

    字符串变量用于存储并处理文本片段。

    php中的字符串

    字符串变量用于包括字符串的值。

    在创建字符串之后。我们就能够对它进行操作了。你能够直接在函数中使用字符串,或者把它存储在变量中。

    并置运算符

    php中。仅仅有一个字符串运算符。并置运算符(.)用于把两个字符串值连接起来。要把两个变量连接在一起,请使用这个点运算符(.)

    使用strlen()函数

    strlen()函数用于计算字符串的长度

     

    字符串的长度信息经常常使用在循环或其它函数中。由于那时确定字符串何时结束是非常重要的。

    使用strpos()函数

    strops()函数用于在字符串内检索一段字符串或一个字符。

    假设在字符串中找到匹配,该函数会返回第一个匹配的位置。假设未找到匹配,则返回FALSE

    php数组

    数组能够在单独的变量名中存储一个或多个值。

    什么是数组?

    在使用php进行开发的过程中,或早或晚,你会须要创建很多类似的变量。

    无需非常多类似的变量。你能够把数据作为元素存储在数组中。

    数组中的元素都有自己的ID,因此能够方便地訪问它们。

    有三种数组类型:
    数值数组

    带有数字ID键的数组

    关联数组

    数组中的每一个 ID键关联一个值

    多维数组

    包括一个或多个数组的数组

    关联数组:关联数组。它的每一个 ID键都关联一个值。在存储有关详细命名的值的数据时。使用数值数组不是最好的做法。通过关联数组。我们能够把值作为键,并向它们赋值。

    php中的foreach语句

    foreach语句用于循环遍历数组,每进行一次循环,当前数组元素的值就会被赋值给value变量(数组指针会逐一地移动)----以此类推。

    语法:
    foreach(array as value)

    {

    code to be executed;s
    }

    php函数

    php的真正威力源自于它的函数。

    php中。提供了超过700个内建的函数。

    创建php函数

    函数是一种能够在不论什么被须要的时候运行的代码块

    创建php函数

    1.全部的函数都使用关键词”function”来開始

    2.命名函数-函数的名称应该提示出它的功能。函数名称以字母或下划线开头。

    3.加入”{”-开口的花括号之后的部分是函数的代码

    4.插入函数代码

    5.加入一个“}-函数通过关闭花括号来结束。

    PHP函数的參数与返回值的类型都不须要指定,由于php是松散类型的语言,它会自己主动指定正确的数据类型。

    php表单和用户输入

    PHP$_GET$_POST用于检索表单中的值,比方用户输入。

    表单验证

    应该在不论什么可能的时候对用户输入进行验证。

    client的验证速度更快,而且能够减轻server的负载。

    只是。不论什么流量非常高以至于不得不操心server资源的网站,也有必要操心网站的安全性。假设表单訪问的是数据库,就非常有必要採用server端的验证。在server验证表单的一种好的方式是。把表单传给它自己,而不是跳转到不同的页面。

    这样用户就能够在同一张表单页面得到错误信息。

    用户也就更easy发现错误了。

    php中的 $_GET

    $_GET变量用于收集来自method=”get”的表单中的值。

    $_GET变量

    $_GET变量是一个数组,内容是由HTTP  GET方法发送的变量名称和值

    $_GET变量用于收集来自method=”get”的表单中的值。从带有GET方法的表单发送的信息,对不论什么人都是可见的(会显示在浏览器的地址栏),而且对发送的信息量也有限制(最多100个字符)。

    为什么使用$_GET

    凝视:在使用$_GET变量时,全部的变量名和值都会显示在URL中。所以在发送password或其它敏感信息时,不应该使用这种方法。只是。正由于变量显示在URL中。因此能够在收藏夹中收藏该页面。

    在某些情况下,这是非常实用的。

    注意:HTTP GET方法不适合大型的变量值;值是不能超过100个字符的

    $_REQUEST变量

    PHP$_REQUEST变量包括了$_GET$_POST以及$_COOKIE的内容。

    PHP$_REQUEST变量可用来取得通过 GETPOST方法发送的表单数据的结果。

    PHP $_POST

    $_POST变量用于收集来自method=”post”的表单中的值。

    $_POST变量

    $_POST变量是一个数组,内容是由HTTP POST方法发送的变量名称和值。

     

    $_POST变量用于收集来自method=”post”的表单中的值。

    从带有 POST方法的表单发送的信息,对不论什么人都是不可见的(不会显示在浏览器的地址栏),而且对发送信息的量也没有限制。

    为什么使用$_POST

    通过HTTP  POST发送的变量不会显示在URL中。

    变量没有长度限制。只是,由于变量不显示在URL中。所以无法把页面加入书签。

    PHP Date()

    PHP date()函数用于格式化时间或日期。

    PHP Date()函数

    PHP Date()函数可把时间戳格式化为可读性更好的日期和时间。

    语法:date(format,timestamp)

    參数format必需。规定时间戳的格式。

    參数 timestamp可选。规定时间戳。

    默认是当前的日期和时间。

    PHP日期----什么是时间戳

    时间戳是自197011日以来的秒数。它也被称为Unix时间戳。

    PHP日期---格式化日期

    date()函数的第一个參数规定了怎样格式化日期/时间。它使用字母来表示日期和时间的格式。这里列出了一些可用的字母:
    d—月中的天(01-31)

    m---当前月,以数字计(01-12)

    Y----当前的年(四位数)

    能够在字母之间插入其它字符,比方“/”、“.”或者”-”,这样就能够添加附加格式了。

    php日期加入时间戳

    date()函数的第二个參数规定了一个时间戳。此參数是可选的。假设你没有提供时间戳,当前的时间将被使用。

    php中的mktime()函数可为指定的日期返回Unix时间戳

    语法:mktime(hour,minute,second,month,day,year,is_dst)

    PHP Inlcude文件

    server端包括(SSI)用于创建可在多个页面反复使用的函数、页眉、页脚或元素。

    PHP includerequire语句

    PHP中。你能够在server运行 PHP文件之前把该文件插入还有一个PHP文件里。

    includerequire语句用于在运行流中向其它文件插入实用的代码。

    includerequire非常类似。除了在错误处理方面的差异:

    require会产生致命错误(E_COMPILE_ERROR)。并停止脚本。

    include仅仅会产生警告(E_WARNING),脚本将继续。

    因此。假设你希望继续运行,并向用户输出结果,即使包括文件已丢失,那么请使用include。否则,在框架、CMS或者复杂的PHP应用程序编译中,请始终使用require向运行流引用重要文件。这有助于提高应用程序的安全性和完整性。在某个重要文件意外丢失的情况下。

    包括文件省去了大量的工作。这意味着你能够为全部页面创建标准页头、页脚或者菜单文件。

    然后。在页头须要更新时,你仅仅须要更新这个页头包括文件就可以。

    注:在包括定义变量的包括文件时。这些变量能够用在调用文件里。

    PHP文件处理:

    fopen()函数用于在PHP中打开文件。

    打开文件

    fopen()函数用于在php中打开文件。此函数的第一个參数含有要打开的文件的名称,第二个參数规定了使用哪种模式来打开文件。

    fclose()函数用于关闭打开的文件。

    检測End-of-file

    feof()函数检測是否已达到文件的末端(EOF

    在循环遍历未知长度的数据时,feof()函数非常实用。

    注意:在wa以及x模式。你无法读取打开的文件。

    逐行读取文件:

    fgets()函数用于从文件里逐行读取文件。

    注:在调用该函数之后。文件指针会移动到下一行。

    逐字符读取文件:
    fgetc()函数用于从文件逐字符地读取文件。注:在调用该函数之后。文件指针会移动到下一个字符。

    PHP文件上传:
    通过PHP。能够把文件上传到server。

    创建一个文件上传表单

    同意用户从表单上传文件时非常实用的。

    <form>标签的enctype属性规定了在提交表单时要使用哪种内容类型。在表单须要二进制数据时,比方文件内容。请使用”multipart/form-data”.

    <input>标签的type=”file”属性规定了应该把输入作为文件来处理。

    注:同意用户上传文件时一个巨大的安全风险。请仅仅同意可信的用户运行文件上传操作。

    创建上传脚本:

    通过使用php的全局数组$_FILES,你能够从客户计算机向远程server上传文件。

    第一个參数是表单的input name,第二个下标能够是”name”,”type”,”size”,”tmp_name””error”

    就像这样:
    $_FILES[“file”][“name”]-被上传文件的名称。

    $_FILES[“file”][“type”]-被上传文件的类型。

    $_FILES[“file”][“size”]-被上传文件的大小,以字节计。

    $_FILES[“file”][“tmp_name”]-存储在server的文件的暂时副本的名称。

    $_FILES[“file”][“error”]-由文件上传导致的错误代码。

    这是一种非常easy文件上传方式。基于安全方面的考虑,你应当添加有关什么用户有权上传文件的限制。

     

     

    cookie经常使用于识别用户

    什么是Cookie

    cookie经常使用于识别用户。cookie是server留在用户计算机中的小文件。每当同样的计算机通过浏览器请求页面时,它同一时候会发送cookie

    通过php,你能够创建并取回cookie的值。

    怎样创建cookie

    setcookie()函数用于设置cookie

    注意:setcookie()函数必须位于<html>标签之前。

    语法:setcookie(name,value,expire,path,domain);

    凝视:在发送cookie时,cookie的值会自己主动进行URL编码,在取回时进行自己主动解码(为防止URL编码,请使用setrawcookie()取而代之)。

    怎样取回Cookie的值?

    PHP$_COOKIE变量用于取回cookie的值。

    怎样删除cookie

    当删除cookie时。你应当使过期日期变更为过去的时间点。

    PHP Sessions

    PHP Session变量用于存储有关用户会话的信息,或更改用户会话的设置。Session变量保存的信息是单一用户的,而且可供应用程序中的全部页面使用。

    PHP Session变量

    当你运行一个应用程序时,你会打开它。做些更改,然后关闭它。这非常像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。可是在因特网上。存在一个问题:server不知道你是谁以及你做什么,这是由于HTTP地址不能维持状态。

    通过在server上存储用户信息以便随后使用,PHP session攻克了这个问题(比方username称、购买商品等)。只是。会话信息是暂时的,在用户离开网站后将被删除。假设你须要永久存储信息,能够把数据存储在数据库里。

     

    Session的工作机制是:为每一个訪问者创建一个唯一的idUID)。并基于这个UID来存储变量。UID存储在cookie中。亦或通过URL进行传导。

    開始PHP Session

    在你把用户信息存储到PHP Session中之前,首先必须启动会话。

    凝视:session_start()函数必须位于<html>标签之前。

    假设你希望删除某些Session数据。能够使用unset()session_destroy()函数。

    PHP发送电子邮件

    php同意你从脚本直接发送电子邮件

    php mail()函数

    php mail()函数用于从脚本中发送电子邮件。

    mail(to,subject,message,headers,parameters);

    to 必需。规定email接收者。

    subject 必需。规定email的主题。凝视:该參数不能包括不论什么新行字符。

    message 必需。定义要发送的消息。应使用LF( )来分隔各行。

    headers 可选。规定附加的标题,比方FromCc以及Bcc。应当使用CRLF( )分隔附加的标题

    parameters 可选。对邮件发送程序规定额外的參数。

    注意:PHP须要一个已安装且正在运行的邮件系统,以便使邮件函数可用。所用的程序通过在php.ini文件里的配置设置进行定义。

    这个php.ini文件暂时没有找到

    PHP错误处理

    PHP中,默认的错误处理非常easy。一条消息会被发送到浏览器,这条消息带有文件名称、行号以及一条描写叙述错误的消息。

    php错误处理

    在创建脚本和web应用程序时,错误处理是一个重要的部分。假设你的代码缺少错误检測编码,那么程序看上去非常不专业,也为安全风险敞开了大门。

    PHP中错误处理方法:

    l  简单的”die()”语句。

    l  自己定义错误和错误触发器

    l  错误报告



    主要的错误处理:使用die()函数

    创建自己定义错误处理器

    创建一个自己定义的错误处理器非常easy。

    我们非常easy地创建了一个专用函数,能够在PHP中发生错误时调用该函数。

    该函数必须有能力处理至少两个參数,可是能够接受最多五个參数(可选的:file,line-number以及error context;

    语法:error_function(error_level,error_message,error_file,error_line,error_context)

    error_level  必需。为用户定义的错误规定错误报告级别。

    必须是一个值数。

    error_message  必需。

    为用户定义的错误规定错误消息。

    error_file 可选。规定错误在当中发生的文件名称。

    error_line  可选。规定发生错误的行号。

    error_context 可选。

    规定一个数组,包括了当发生错误时在用的每一个变量以及它们的值。

     

  • 相关阅读:
    Python SocketServer模块
    网络爬虫urllib:request之urlopen
    1.numpy的用法
    21天打造分布式爬虫-简书整站爬取(十)
    21天打造分布式爬虫-下载汽车之家图片(九)
    21天打造分布式爬虫-Crawl类爬取小程序社区(八)
    21天打造分布式爬虫-Spider类爬取糗事百科(七)
    21天打造分布式爬虫-Selenium爬取拉钩职位信息(六)
    21天打造分布式爬虫-多线程下载表情包(五)
    21天打造分布式爬虫-中国天气网和古诗文网实战(四)
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10791228.html
  • Copyright © 2020-2023  润新知