PHP 常识
PHP常识
1.谈谈你对MVC的认识,介绍几种目前比较流行的框架
由Model(M),View(V),Cntroller(C) 组成的一种设计模式,Model 主要处理一些业务处理类,View是页面显示页,直接在浏览器输出,Controller是桥接M和V,由它收到V的请求,调用相应的model类再把结果返还给视图,右视图输出给用户。
2.HTML表单中GET和POST提交方法的区别
GET提交方式是http协议,把要提交的值附在url后面,因此这种方式保密性不是很好,且有长度限制,最长8192字节
POST是实体数据,随着表单提交到服务器,比较安全,且长度限制由配置文件决定。
3.请简述session和Cookies的区别
SESSION:是存储用户信息的唯一全局变量,是在服务器端的预处理数组,存放的地方由PHP中的seesion_dir指定。
COOKIE:是用来储存连续访问一个页面时使用,数据存在客户端。这两者都可以通过时间设置生存长短。
默认情况下,session是基于cookie的,如果cookie被禁止必须向其他办法解决了。
4.求两个日期的差数,例如20016-10-27 ~ 2016-11-27 的日期差数。
$time1=mktime(0,0,0,10,27,2016);
$time2=mktime(0,0,0,11,27,2016);
$time3=$time2-$time1;
相差秒数:$time3;
相差分钟:$time3/60;
相差小时:$time3/3600;
相差天数:$time3/3600/24;
相差周数:$time3/3600/24/7;
5.写出如下程序输出的结果
<?
$test ='aaaa';
$abc=&$test;
unset($test);
echo $abc;
?>
输出:aaaa;
6.请写出一个函数将1234567890转换成1,234,567,890 每3位用逗号隔开的形式。
方法一:function new_number_formate($num)
{
$nnum =(string)$num;
$str =strrev($nnum);
$count = strlen($str);
for($i=0;$i<$count;$i=$i+3){
$nst.=Substr($str,$i,3).",";
}
echo strrev(rtrim($str,","));
}
方法二:利用系统函数:number_formate($num,0,".",",");
7.有A(id,sex,par,c1,c2),b(id,age,c1,c2)两张表,现要求写一条SQL语句,将B中age>50的记录c1,c2,更新到A表中统一记录中的c1,c2字段中。
update A as a set a.c1=b.c1,a.c2=b.c2 left jion B as b on a.id=b.id;
8. 写手机号11位验证表达式
1.reg1="/^139\d{8}";
2.Reg2="/^139[0-9]{8}/";
9.请写出一个函数,实现以下功能
字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。
方法一:
function cstr($str){
echo str_replace("","",ucwords(str_replace("_""",$str)));
方法二:
function csstr($str){
$arr=explode("_",$str);
foreache($arr as $v){
$nstr.=ucwords($v);
}
echo $nstr;
}
10.请用php写出以下程序:假设网络中有一台服务器192.168.1.101,开放端口8899进行侦听,请用php的socket相关知识,写出一个简易的client,连接到server,并发送字符串”hello server!”。程序仅对连接的成功和失败进行简易错误判断和处理即可。
<?php
$addr='192.168.1.101';
$port=8899;
if($socket=socket_create(AF_INET,SOCK_STREAM,TCP)<0_){
echo "创建失败,原因:".socket_strerror($sock);
return false;
}
if($bind=socket_bind($socket,$addr,$port)<0){
echo "绑定失败,原因:".socket_strerroe($bind);
return false;
}
if($listen=socket_listen($socket,5)<0){
echo "监听失败,原因:".socket_strerror($listen);
return false;
}
if($accept=socket_accept($socket)<0){
echo "连接失败,原因:".socket_strerror($accept);
return FALSE;
}
socket_write($accept,"Hello World",strlen("Hello World"));
Socket_close($accept);
socket_close($socket);
【Linux 常识】
1.如何实现每天0点钟重启服务器
写shell脚本:crontab 000***/sbin/restart.sh
【附加题】
1.使用thinkphp5.0在控制器(action)中传递一个一位数组到视图(Tpl),并将数组循环显示到前台页面,简要的写出后台的代码;
//控制器代码
<?php
class show {
function index(){
$arr=array('ggg','ghh','kkk','iii','yuyuyu');
$this->assgin("arr",$arr);
return $this->fetch();
}
}
//试图代码
{volist name='arr' id='vo' key='key'}
<{key}>=><{vo}>
{/volist}
3.请用php编写程序,读取出www.baidu.com的首页的网页内容(仅html),并存入字符串 $str.(10分)
$str=file_get_contents("www.baidu.com");
4.请用php将上题中读取出的网页内容的<title>标签的值解析出来
$reg='/<title>(.*?)<\/title>/';
preg_match($reg,$str,$m);
var_dump($m);
5.javascript的ajax请求
<script>
var Ajax;
if(XMLHttpRequest){
Ajax=new window.XMLHttpRequest();
}elseif(window.ActiveXObject){
Ajax=new window.ActiveObject("Microsoft.XMLHTTP");
}else{
Alert("不支持异步加载");
return false;
}
//选择传送方式
Ajax.open("post","url");
//请求状态放生改变时执行的动作
Ajax.onreadystatechange=function(){
swith(Ajax.readystate){
case0;
case1;
case3;
Alert("提示信息自己定义");
break;
case4:
if(Ajax.status==400){
//成功就把发回来的值加载到对应的位置
getElementById("show").innerHTML=Ajax.response.text;
}else{
Alert("请求失败");
}
}
}
//post传值时必须设置下面一步
Ajax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
//发送数据。如果为get 传值是设置为null
Ajax.send(data);
</script>
PHP 常识的更多相关文章
- 读《乔布斯的NeXT和苹果之间,隔了这两个创业常识》
原文链接:http://wwww.huxiu.com/article/114950/1.html 前言: 当今硅谷风头最劲的风险投资家马克·安德森曾说,硅谷每年大约诞生15-20家真正值得投资的公司. ...
- 选择App开发外包时,你该了解哪些法律常识?
随着App需求的激增,选择App外包服务的客户也多了起来.然而客户和开发方对于其中的法律条款却不甚了解,导致在服务过程中,时常会发生一些分歧和纠纷,最终致使项目搁浅. 为了普及App外包的法律常识,移 ...
- 【PCB】电子元件封装大全及封装常识
电子元件封装大全及封装常识 电子元件封装大全及封装常识 一.什么叫封装封装,就是指把硅片上的电路管脚,用导线接引到外部接头处,以便与其它器件连接.封装形式是指安装半导体集成电路芯片用的外壳.它不仅起着 ...
- 赴美工作常识(Part 6 - 绿卡排队)
上一篇<赴美工作常识(Part 5 - 绿卡优先级)>解释完排队的优先级是怎么确定的,以及 PERM 和 I–140 表的意义,接下来就要解释一下队具体是怎么排的以及排到之后的 I–485 ...
- 赴美工作常识(Part 5 - 绿卡优先级)
这个系列的第一篇<赴美工作常识(Part 1 - 签证)>是三年前写的,过了这么久这个系列终于要继续下去了.接下来当然时讨论绿卡的事情了.跟讨论签证一样,这里必须要有免责声名.因为我不是移 ...
- 赴美工作常识(Part 4 - 面试)
最近跟同事讨论面试的事情比较多,所以就综合大家所说的列举几条面试建议吧.这些建议是针对中国候选人应聘美国职位而写的,但适用范围可能更广.假若你实际的实力是 X,面试官感知到你的实力是 Y,这些建议既不 ...
- 总结的一些网站利于搜索引擎优化的小常识及SEO优化
网站利于搜索引擎优化的小常识 1. 尽量用独立IP和空间原因:同IP下其他网站受罚,可能会对你站有影响.如果你的站和很多垃圾.色情站同在一个服务器,搜索引擎会喜欢吗? 2. 做不同内容网站时,避免使用 ...
- 很少有人会告诉你的Android开发基本常识
原文:很少有人会告诉你的Android开发基本常识. 文章介绍了一些关于开发.测试.版本管理.工具使用等方面的知识.
- 00_Java基本常识
1. 基本常识 软件:一系列按照特定顺序组织的计算机数据和指令的集合. 常见的软件:系统软件 和 应用软件. 人机交互:图形化界面.命令行方式 计算机语言:人与计算机交流的方式 dos常见命令 ...
- node.js基础 1之基本概念常识
node.js 好牛逼的样子哦 很火,很腻害~~~~ 有关node.js的版本常识: 一般用最新的稳定版本,非稳定版本用于测试,其中包括api的不稳定等. 起一个web服务器: ndoejs可以自定义 ...
随机推荐
- 基于Flash ActionScript 实现RTMP发布与播放媒本流
1 为什么要采用Flash ActionScript实现RTMP协议发布或播放媒体流,播放媒体流,协议可控,比如对流媒体数加密,混音等. 2 核心思路使用Flash Socket建立TCP二进制传输 ...
- 12C expdp issue
issue 1: 使用expdp时遭遇ora-31650 D:\oracle\diag\rdbms \trace>expdp \"/ as sysdba\" schemas ...
- 用开源软件建垂直搜索引擎 转载 http://news.cnblogs.com/n/60041/
用Solr.Nutch等开源软件来构建电子元器件垂直搜索引擎涉及很多实现细节,本文结合实际应用系统对数据采集.中文搜索.结果输出.分页处理.整合数据库等重点问题提出了切实可行的解决方法. 用开源软件建 ...
- Linux下安装MySQL-5.7
写在前面:此博客是针对MySQL5.7安装教程,其他版本可能略有不同,仅供参考. 第一步:下载mysql 在Linux终端使用wget命令下载网络资源: wget http://mirrors.soh ...
- 自定义控件之--继承控件(圆形TextView)
师从郭大,自学于心,继承控件无疑就是继承自现有控件,保持继承的控件的属性并进行必要的扩展. 比如下面这个自定义控件,它就保持了TextView的属性,并对TextView的外观进行必要的修改该来适 ...
- mb_detect_encoding() 运行sitemap.php 字符编码不能转换修改php.ini
1.phpinfo() 找php.ini位置 2.备份然后 php.ini文件中顶部添加extension=php_mbstring.dll Call to undefined function mb ...
- VMWare桥接、NAT和only-host三种模式
如果你想利用VMWare安装虚拟机,或想创建一个与网内其他机器相隔离的虚拟系统,进行特殊的调试工作.此时,对虚拟系统网络连接模式的选择就非常重要了.如果你选择的工作模式不正确,就无法实现上述目的,也就 ...
- hdu_4521_小明系列问题——小明序列(LIS)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4521 题意:中文题,不解释 题解:这题就是LIS的加强版,可以用二分的nlogn来做,也可以用线段树的 ...
- Output Limit Exceed是什么情况引起的
输入的格式错误 Output Limit Exceed是超过输出限制(OLE)错误,提示你的程序产生了过多的输出信息,一般是由于死循环造成的.你的程序发生上述错误的主要原因是循环语句while(sca ...
- Unity 的几种打包姿势(android)
Unity 版本 4.3.2 图片1 1 默认的工程进行打包 得到的apk为8.1m(net subset) 图片2 2 代码剥离最小 – use mirco mscorlib 图片3 3 从网上 ...