- include 和require 都能把另外一个文件包含到当前文件中,他们有什么区别? include和include_once 又有什么区别?
二者的区别只有一个,那就是对包含文件的需求程度
include 就是包含,如果被包含的文件不存在的话,那么则会提示一个错误,但是程序会继续执行下去。
reruqire 意思就是需要,如果被包含文件不存在或者无法打开时候,则会提示错误并且终止程序的执行。
俩者除了在如何处理失败之外完全一样
once 的意思时一次,那么include_once和require_once表示只包含一次,避免重复包含
- 表单中get与post提交方法的区别?
get请求能够被cache,get请求能够被保存在浏览器的浏览历史里面post 不进行缓存
get 参数是带在url后面,传统ie中url的最大可用长度为2053字符,其他浏览器对url长度限制实现上有所不同。post 请求无长度限制
get 提交数据大小,不同浏览器限制不同,一般在2k-8k之间,post提交数据比较大,大小靠服务器的设定值限制,而且某些数据只能用post方法携带,比如file.
全部用post不是十分合理,最好先把请求按功能和场景分类,对数据请求频繁,数据不敏感且数据量在普通浏览器最小限制2k范围内,这样的情况使用get,其他地方使用post
get的本质是得,而post的本质是给。而且get是幂的,在这一点上,get被认为是安全的。但实际上server端也可以用作资源更新,但是这种用法违反了约定,容易造成csrf(跨站请求访问)
- 用php 打印出前一天的时间
echo date('Y-m-d H:i:s',tiem()-24*3600)
或echo date('Y-m-d H:i:s',strtotime('-1 day'))
4.假设现在有一个字符串 ww.baidu.com 如何使用 PHP 对他进行操作使字符串以 moc.udiab.输出?
$str='www.baidu.com;
//先替换,再反转
$str = str_replace('www','',$str);
echo strrev($str);
- 用 php 写出显示客户端 IP 与服务器 IP 的代码
客户端ip:
$_SERVER['REMOTE_ADDR']
服务器ip:$_SERVER['SERVER_ADDR']
- 计算某段字符串中某个字符串出现的次数
echo substr_count($test,'g')
- 写一个函数,能够遍历一个文件夹下的所有文件和子文件夹
function my_scandir($dir)
{
$files = array();
if( $handle = opendir($dir)){
while(($file = $readdir($handle)) !== false){
if($file != ".." && $file != "."){
if(is_dir($dir."/".$flie)){
$file[file] = scandir($dir . '/' . $file);
}else{
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
- 列出你所知道的全局变量
$_ENV; $_SERVER; $_REQUEST; $_FILES; $_SESSION; $_COOKIE; $_GET; $_POST; $GLOBALS
- session 与 cookie 的区别
seeion:存储用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放
cookie:用来存储连续访问一个页面时所使用,是存贮在客户端,对cookie来说是存储在win的temp目录中
- 什么事面向对象?主要特征是什么?
面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。主要特征:封装,继承,多态。
- HTTP 状态中302、403、 500代码含义?
一消息,二成功,三重定向,四请求错误,五服务器端错误
302:临时转移成功,请求内容已转移到新的位置
401:未授权
403:禁止访问
500: 服务器内部错误
- Linux下建立压缩包,解压缩包的命令
打包:
tar czf file.tar.gz file.text
解压:tar xzf file.tar.gz
- 请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char有什么区别?
int 整数 char定长字符串 Varchar变长字符串 Datetime 日期时间型 Text文本型
Varchar是可变长度的字符类型,内容有多大就占多少空间,能有效节省空间。由于varchar类型是可变的,所以在数据长度改变时,服务器要进行额外操作所以效率比char类型低
- MyISAM和InnoDB的基本区别?索引结构如何实现
MyISAM类型不支持事务,表锁,易产生碎片,要经常优化,读写速度较快
InnoDB类型支持事务,行锁,有奔溃恢复能力。读写速度比MyISAM慢
创建索引:alert table tablename add index('字段名')
- isset() 和 empty() 区别
isset判断变量是否存在,可以传入多个变量,若其中一个变量不存在则返回假,
empty判断变量是否为空为假,只可传一个变量,如果为空为假则返回真
- 如何在页面之间传递变量?
get , post ,cookie, session, 隐藏表单
- 请写出常见的排序算法
冒泡排序法, 快速排序法,简单选择排序法,堆排序法,直接插入排序法,希尔排序法,合并排序法
- error_reporting 这个函数的作用
设置php 的报错级别并返回当前级别
- 你所知道的php 数组相关的函数
- array() 创建数组
- array_combine() 合并俩个数组来创建一个新数组
- range() 创建并返回一个指定范围的元素数组
- compact() 建立一个数组
- array_chunk() 将数组分割成多个
- array_merge() 将俩个或多个数组合并成一个数组
- array_slice() 根据条件获取数组的一段值
- array_diff() 返回俩个数组的差集
- array_intersect() 返回俩数组交集
- array_search() 在数组中搜索给定的值
- array_splice() 移除数组的一部分并替换它
- array_key_exists 判断数组是否存在指定的key
- shuffle() 将数组元素乱
- array_flip() 交换数组中的键和值
- array_reverse() 将原数组顺序翻转,创建新的数组并返回
- array_unique() 移除数组中的重复值
- php读取文件内容的几种方法和函数?
打开文件然后读取:
Fopen();fread()
打开读取一次完成:file_get_contents()
20 说说你对缓存技术的了解?
1、缓存技术是将动态内容缓存到文件中,在一定时间内访问动态页面直接调用缓存文件,而不必重新访问数据库。
2、使用memcache可以做缓存。
- 你所知道的设计模式有哪些
工厂模式、策略模式、单元素模式、观察者模式、命令链模式
- 你常用到的mysql命令
show databases
show tables
inset into 表名 ()values()
Update 表名 set 字段=值 where ...
Delete from 表名 where ...
Select * from 表名 where 条件 order by ... Desc/asc limit ..... Group by ... Having
网友评论