本文目录一览:
3.PHP核心技术
Cookie 和 session 是两种不同的存储机制。cookie 是从一个外部页面到下一个页面的数据传递的方法,它一般是存储在客户端的。Session 是让数据在页面当中具有持续有效的一个方法。他一般是存储在服务器端。
Cookie 是一种在客户浏览器端存储数据,并且以此来去跟踪和识别用户的一种机制。简单的说呢,cookie 是 Web 服务器暂时存储在用户的硬盘上的一个文本文件。
web 服务器可以通过 Cookie 包含的信息来筛选或维护这些信息。用来判断 HTTP 传输的状态。
在 PHP 中通过 setcookie()函数创建 Cookie,在创建 Cookie 之前,要了解 Cookie 是 HTTP 头标的组成部分。
通过超全局变量数组$_COOKIE[]
来读取浏览器端的 Cookie 值
是自动删除Cookie数据,如果设置了失效时间,浏览器会记住Cookie数据,即使重启计算机,只要时间不到,都依然有效。
- 使用 setcookie()函数删除 Cookie
- 在浏览器中手动删除 如果 Cookie 不设定失效时间,就表示它的生命周期,就为浏览器会话的期间的这个时间。只要关闭浏览器,Cookie 就会自动消失。这种 cookie 被称之为叫会话 cookie。一般情况下,啊,不存在硬盘上的,而是保存在这个内存里边。 如果设置失效时间,浏览器会把 cookie 保存到硬盘上,再次打开浏览器的时候,依然会有效,只要时间未过期,就一直有效。直到到达有效时间。 虽然,cookie 可以长期保存在客户端的浏览器当中。但是浏览器最多允许存储 300 个 cookie 文件。而且每一个 Cookie 文件支持最大容量只有 4kb。每一个域名最多只支持 20 个 cookie。如果达到限制,浏览器会自动随机的删除 cookie 文件。 Session 在翻译的时候呢也翻译为“会话”。他原本的意思就是指,有始有终的一系列的动作或者消息。比如你打电话的时候从拿起电话拨电话号码一直到挂断电话这一系列的过程就可以称之为一个 Session。 启动一个 session 会话时,会生成一个随机且唯一的 session_id。也就是 session 的文件名。session_id 存储在服务器的内存中。当你关闭页面的时候,这个 id 会自动注销。重新再登录这个页面的时候呢,会再次生成一个随机且唯一的 id。 创建一个会话需要的步骤 启动会话-注册会话-使用会话-删除会话
- 启动会话 注册会话 启动 PHP 会话的方式有两种方式:
- 使用 session_start()函数
- 使用 session_register()函数为会话创建一个变量来隐含的启动会话
- 删除会话
- 删除单个
- 删除多个
- 结束当前会话
session_set_cookie_params()
设置 session 的失效时间,这个函数是 Session 结合 Cookie 设置失效时间。 此函数在一些浏览器上会出现问题。所以一般建议手动设置。- 使用
setcookie()
可以设置 Session 的失效时间, 使用 GD2 函数库可以实现对各种图形图像的处理,先使用 GD2 函数库来创建画布。通过imagecreate()
实现。 使用imageTTFText()
函数将文字以 TTF 字体输出在图像中。 - 使用
header()
函数定义输出的图像类型。 imagecreatefromjpeg()
函数载入图片。imagecolorallocate()
函数设置输出字体颜色。- 定义输出的中文字符串所使用的字体。
- 通过
iconv()
函数对输出的中文字符串的编码格式进行转换。 - 使用
imageTTFText()
函数向图片中添加文字。 - 创建图像,释放资源。
文件处理包括读取、关闭、重写等。
打开/关闭文件使用
fopen()
函数和fclose()
函数。(千万小心,别误删了文件) - 打开文件/关闭文件
- 从文件中读取数据
- 文件写入 php 除了可以对文件进行读写之外,对文件本身同样也可以进行操作。比如说复制重命名,查看修改日期,等等都可以。
- 打开目录
使用
opendir()
函数打开目录 - 关闭目录
使用
closedir()
函数关闭目录 - 使用
scandir()
函数 readdir()
函数chmod($pathname,权限);
权限分别使用3个值: 要想去顺利地实现这个上传功能,我们要在php.ini这个文件里面去修改它的配置。$_FILES
变量它存储的是上传文件的相关信息。对于我们去完成上传文件的这个功能提供一些参数信息。 先在a.html 页面完成表单元素的创建,使用<input type="file">
元素提供上传文件的入口。move_uploaded_file(string filename,string destinationnpath)
函数上传文件存储到指定的位置。 创建upload.php 文件用来处理客户端上传过来的文件的信息,包括文件的存储。
在PHP中怎么对数据进行缓存读取功能?
- 普遍缓存技术: 数据缓存:这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得。 用的最广的例子看Discuz的搜索功能,把结果ID缓存到一个表中,下次搜索相同关键字时先搜索缓存表。 举个常用的方法,多表关联的时候,把附表中的内容生成数组保存到主表的一个字段中,需要的时候数组分解一下,这样的好处是只读一个表,坏处就是两个数据同步会多不少步骤,数据库永远是瓶颈,用硬盘换速度,是这个的关键点。
- 页面缓存: 每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发挥作用了。(模板引擎和网上常见的一些PHP缓存机制类通常有此功能)
- 时间触发缓存: 检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。
- 内容触发缓存: 当插入数据或更新数据时,强制更新PHP缓存机制。
- 静态缓存: 这里所说的静态缓存是指静态化,直接生成HTML或XML等文本文件,有更新的时候重生成一次,适合于不太变化的页面,这就不说了。 以上内容是代码级的解决方案,我直接CP别的框架,也懒得改,内容都差不多,很容易就做到,而且会几种方式一起用,但下面的内容是服务器端的缓存方案,非代码级的,要有多方的合作才能做到
- 内存缓存: Memcached是高性能的,分布式的内存对象PHP缓存机制系统,用于在动态应用中减少数据库负载,提升访问速度。
- php的缓冲器: 有eaccelerator, apc, phpa,xcache,这个这个就不说了吧,搜索一堆一堆的,自己看啦,知道有这玩意就OK
- MYSQL缓存: 这也算非代码级的,经典的数据库就是用的这种方式,看下面的运行时间,0.09xxx之类的
- 基于反向代理的Web缓存: 如Nginx,SQUID,mod_proxy(apache2以上又分为mod_proxy和mod_cache)
PHP是什么
PHP(PHP:Hypertext Preprocessor递归缩写)中文名字是:“超文本预处理器”,是一种广泛使用的通用开源脚本语言,适合于Web网站开发,它可以嵌入HTML中。编程范型是面向对象、命令式编程的,截止2019年4月24日为止,最新的版本是PHP 5.6.0(28 Aug 2014),其操作的系统为windows/linux/Mac跨平台。 扩展资料: PHP的功能
- 创建博客 使用PHP创建博客wordpres,可以轻松创建博客。即使您不具备PHP知识,也可以使用它,但如果您可以编写PHP,则可以自定义您的博客并创建主题。
- 网站开发 60%全球互联网网站采用php技术,80%国内互联网网站使用php开发。这些网站包含购物网站,政府企业网站,QQ空间,论坛博客等等。
- 移动端微网站开发以及小程序 移动设备的普及为移动互联网的快速发展奠定了基础!手机淘宝网站,手机京东网站等等, 微信公众号应用中的微网站。 参考资料来源:百度百科——PHP