php试题(推荐7篇)
A
@mysql_connect()不会忽略错误,将错误显示到客户端 B mysql_connect()不会忽略错误,将错误显示到客户端 C 没有区别
D 功能不同的两个函数
2.语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执行的次数分别是: A
A
无限和0
B 0和无限
C 都是无限
D 都是0
3.读取post方法传递的表单元素值的方法是: B
A
$_post[“名称”]
B $_POST[“名称”]
C $post[“名称”]
D $POST[“名称”]
4.php运算符中,优先级从高到低分别是()B
A
关系运算符,逻辑运算符,算术运算符
B 算术运算符,关系运算符,逻辑运算符
C 逻辑运算符,算术运算符,关系运算符
D 关系运算符,算术运算符,逻辑运算符
5.cookie的值存储在()C
A
硬盘中
B 程序中
C 客户端
D 服务器端
6.要查看一个变量的数据类型,可使用函数()B
A
type()
B gettype()
C GetType()
D Type()
7.字符串的比较,是按()进行比较。B
A
拼音顺序
B ASCII码值
C 随机
D 先后顺序
8.复选框的type属性值是()A
A
checkbox
B radio
C select
D check
9.SESSION会话的值存储在()D
A
硬盘上
B 网页中
C 客户端
D 服务器端
10.如果想取得最近一条查询的信息,应该使用哪个函数()A
A
mysql_info
B mysql_stat
C mysql_insert_id()
D mysql_free_result
11.要查看一个结构类型变量的值,可以使用函数()
D
A
Print()
B print()
C Print_r()
D print_r()
12.在PHP中哪个变量数组总是包含所有总客户端发出的cookies数据(A
$_COOKIE
B $_COOKIES
C $_GETCOOKIE
D $_GETCOOKIES
13.下列哪个说法是错误的()D
A
gettype()是查看数据类型的B 没有被赋值的变量是0
C unset()是被认为NULL
D 双引号字符串最重要的一点是其中的变量名会被变量值替代
14.HTML中,超链接用的是什么标签 A
A
〈a>
B 〈table>
C 〈b>
D 〈head>
15.strtolower()函数的功能是()
A
upper 转为大写
A
将给定的字符串全部转换为小写字母
B 将给定的字符串全部转换为大写字母
C 将给定的字符串首字母转换为小写字母
D 将给定的字符串首字母转换为大写字母)A
16.HTML中,表格单元格的“值”是存储在()标签里
B
A
〈body>
B 〈td>
C 〈tr>
D 〈table>
REFDVCD |
A
intval()
B strval()
C str
D valint()
18.php中字符串的连接运算符是()
D
A
B +
C &
D.19.php函数不支持的功能有:
C
A
可变的参数个数
B 通过引用传递参数
C 通过指针传递参数
D 实现递归函数
20.文件框的type属性值是()C
A
text
B hidden
C textarea
D checkbox
21.运算符“^”的作用是()D
A
无效
B 乘方
C 位非
D 位异或
22.自定义函数中,返回函数值的关键字是()
A
returns
B close
A
C return
D back
23.24.要检查一个常量是否定义,可以使用函数()
A
A
defined()
B isdefin()
C isdefined()
D 无
25.关于mysql_select_db的作用描述正确的是()
A
连接数据库
B 连接并选取数据库
C 连接并打开数据库
D 选取数据库
26.HTML中,title标签放在什么位置
B
A
body标签里
B head标签里
C script标签里
D table标签里
27.使用()函数可以求得数组的大小
A
A
count()
B conut()
C $_COUNT[“名称”]
D $_CONUT[“名称”]
28.从队列数组队头删除数据可以使用()函数。
A
array_push()
B array_pop()
C array_shift()
D array_unshift()
29.在html中嵌入javaScript,应该使用的标记是()
A
〈script language=“javascript”>
B 〈head> 〈/head>
C 〈body> 〈/body>
D 〈!--....//..>
30.以下代码运行结果()C $A=array(“Monday”,“Tuesday”,3=>“Wednesday”);
D C A
echo $A[2];
A
Monday B Tuesday C Wednesday D 没有显示
31.新建一个数组的函数是()
A
A
array
B next
C count
D reset
32.下列不正确的变量名是()
B
A
$_test
B $2abc
C $Var
D $printr
33.读取get方法传递的表单元素值的方法是: A
A
$_GET[“名称”]
B $get[“名称”]
C $GEG[“名称”]
D $_get[“名称”]
34.函数var_dump的意义是()C
A
定义数组
B 遍历数组
C 输出变量的相关信息
D 递归数组
35.strtoupper()函数的功能是: A
A
将给定字符串全部转换为大写字母。
B 将给定字符串全部转换为小写字母。
C 将给定字符串首字母转换为大写字母。
D 将给定字符串首字母转换为小写字母。
36.以下代码的运行结果是()A
if($i=“")
{echo ”a“;}
else
{echo ”b“;
} ?>
A
输出a
B 输出b
C 条件不足,无法确定
D 运行出错
37.在str_replace(1,2,3)函数中1 2 3 所代表的名称是()
B
A
”取代字符串","被取代字符串","来源字符串"
B "被取代字符串",“取代字符串","来源字符串"
C "来源字符串",”取代字符串","被取代字符串"
D "来源字符串","被取代字符串",“取代字符串"
38.浏览网页时,看到的内容是HTML的哪一部分? C
A
title
B table
C body
D head
39.运算符”%“的作用是()C
A
无效
B 取整
C 取余
D 除
40.file()函数返回的数据类型是()
A
A
数组
B 字符串
C 整型
D 根据文件来定
41.计算字符串长度的函数是()A
A
strlen()
B len()
C stringlen()
D lens()
42.array_push()的作用是()C
A
将数组的第一个元素弹出
B 将数组的最后一个元素弹出
C 将一个或多个元素压入数组的末尾
D 将一个或多个元素插入数组的开头
43.isset()的功能是()
A
A
测试变量是否存在B 测试变量是否为空
C 测试常量是否为空
D 测试常量是否存在
44.定义静态变量的关键字是()
A
A
static
B statics
C STATIC
D STATICS
45.以下属于忽略键名数组排序的是()
D
A
natsort
B ksort
C asort
D sort
46.empty()的功能是:
A
A
测试变量是否为空
B 测试变量是否存在C 测试常量是否为空
D 测试常量是否存在
47.浏览网页时,看到的内容是HTML的哪一部分?
C
A
title
B table
C body
D head
48.自定义用户常量,可以使用()函数.B
A
Define()
B define()
C Defin()
D defin()
49.执行下列代码后的结果是()$x=15;echo $x++;$y=20;echo ++$y;
A
15,20
B 15,21
C 16,20
D 16,21
50.申明全局变量的关键字是()B
A
globals
B global
C GLOBAL
D 无
多项选择题:(共12题,每题5分)
B.cd C.opendir D.rmdir 1.在返回数组中的所有值,可以使用array_value()函数 T
http://www.lampbrother.net(或者知道哪儿找到处理方案)。条件允许的情况,建议了解一下NoSQL的代表MongoDB数据库,顺便对比跟MySQL的差别,同事能够在合适的应用场景安全谨慎的使用MongoDB,知道基本的PHP与MongoDB的结合开发。
4.Redis/Memcached
在大部分中型系统里面一定会涉及到缓存处理,所以一定要了解基本的缓存;知道Memcached和Redis的异同和应用场景,能够独立安装Redis/Memcached,了解Memcahed的一些基本特性和限制,比如最大的value值,知道PHP跟他们的使用结合;Redis了解基本工作原理和使用,了解常规的数据类型,知道什么场景应用什么类型,了解Redis的事务等等。原理部分,能够大概了解Memcached的内存结构(slab机制),redis就了解常用数据类型底层实现存储结构(SDS/链表/SkipList/HashTable)等等,顺便了解一下Redis的事务、RDB、AOF等机制更好。
5.PHP
除了第一阶段的能力,安装配置方面能够随意安装PHP和各种第三方扩展的编译安装配置;了解php-fpm的大部分配置选项和含义(如max_requests/max_children/request_terminate_timeout之类的影响性能的配置),知道mod_php/fastcgi的区别;在PHP方面已经能够熟练各种基础技术,还包括各种深入些的PHP,包括对PHP面向对象的深入理解/SPL/语法层面的特殊特性比如反射之类的;在框架方面已经阅读过最少一个以上常规PHP MVC框架的代码了,知道基本PHP框架内部实现机制和设计思想;在PHP开发中已经能够熟练使用常规的设计模式来应用开发(抽象工厂/单例/观察者/命令链/策略/适配器等模式);建议开发自己的PHP MVC框架来充分让开发自由化,让自己深入理解MVC模式,也让自己能够在业务项目开发里快速升级;熟悉PHP的各种代码优化方法,熟悉大部分PHP安全方面问题的解决处理;熟悉基本的PHP执行的机制原理(Zend引擎/扩展基本工作机制)。
6.C/C++
开始涉猎一定的C/C++语言,能够写基本的C/C++代码,对基本的C/C++语法熟悉(指针、数组操作、字符串、常规标准API)和数据结构(链表、树、哈希、队列)有一定的熟悉下;对Linux下面的C语言开发有基本的了解概念,会简单的makefile文件编写,能够使用简单的GCC/GDB的程序编译简单调试工作;对基本的网络编程有大概了解。(本项是为了向更高层次打下基础)。
7.前端
在第一阶段的基础上面,熟悉基本的HTTP协议(协议代码200/300/400/500,基本的HTTP交互头);条件允许,可以在深入写出稍微优雅的HTML+CSS+JavaScript,或者能够大致简单使用某些前端框架(jQuery/YUI/ExtJS/RequireJS/BootStrap之类);如果条件允许,可以深入学习JavaScript编程,比如闭包机制、DOM处理;再深入些可以读读jQuery源码做深入学习。(本项不做重点学习,除非对前端有兴趣)。
http://www.lampbrother.net 8.系统设计
能够设计大部分中型系统的网站架构、数据库、基本PHP框架选型;性能测试排查处理等;能够完成类似:浏览器-> CDN(Squid)->Nginx+PHP->缓存->数据库结构网站的基本设计开发维护;能够支撑每天数百万到千万流量基本网站的开发维护工作;
第三阶段:高级阶段(高级PHP程序员)
重点:除了基本的LNMP程序,还能够在某个方向或领域有深入学习。(纵深维度发展)
目标:除了能够完成基本的PHP业务开发,还能够解决大部分深入复杂的技术问题,并且可以独立设计完成中大型的系统设计和开发工作;自己能够独立hold深入某个技术方向,在这块比较专业。(比如在MySQL、Nginx、PHP、Redis等等任一方向深入研究)
1.Linux
除了第二阶段的能力,在Linux下面除了常规的操作和性能监控跟踪,还能够使用很多高级复杂的命令完成工作(watch/tcpdump/starce/ldd/ar等);在shell脚本方面,已经能够编写比较复杂的shell脚本(超过500行)来协助完成很多包括备份、自动化处理、监控等工作的shell;对awk/sed/perl等应用已经如火纯青,能够随意操作控制处理文本统计分析各种复杂格式的数据;对Linux内部机制有一些了解,对内核模块加载,启动错误处理等等有个基本的处理;同时对一些其他相关的东西也了解,比如NFS、磁盘管理等等;
2.Nginx
在第二阶段的基础上面,已经能够把Nginx操作的很熟练,能够对Nginx进行更深入的运维工作,比如监控、性能优化,复杂问题处理等等;看个人兴趣,更多方面可以考虑侧重在关于Nginx工作原理部分的深入学习,主要表现在阅读源码开始,比如具体的master/worker工作机制,Nginx内部的事件处理,内存管理等等;同时可以学习Nginx扩展的开发,可以定制一些自己私有的扩展;同时可以对Nginx+Lua有一定程度的了解,看看是否可以结合应用出更好模式;这个阶段的要求是对Nginx原理的深入理解,可以考虑成为Nginx方向的深入专业者。
3.MySQL/MongoDB
在第二阶段的基础上面,在MySQL应用方面,除了之前的基本SQL优化,还能够在完成一些复杂操作,比如大批量数据的导入导出,线上大批量数据的更改表结构或者增删索引字段等等高危操作;除了安装配置,已经能够处理更多复杂的MySQL的问题,比如各种问题的追查,主从同步延迟问题的解决、跨机房同步数据方案、MySQL高可用架构等都有涉及了解;对MySQL应用层面,对MySQL的核心关键技术比较熟悉,比如事务机制(隔离级别、锁等)、对触发器、分区等技术有一定了解和应用;对MySQL性能方面,有包括磁盘优化(SAS迁移到SSD)、服务器优化(内存、服务器本身配置)、除了二阶段的其他核心性能优化选项(innodb_log_buffer_size/back_log/table_open_cache/thread_cache_size/innodb_lock_wait_timeout等)、连接池软件选择应用,对show *(show status/show profile)类的操作语句有深
http://www.lampbrother.net 入了解,能够完成大部分的性能问题追查;MySQL备份技术的深入熟悉,包括灾备还原、对Binlog的深入理解,冷热备份,多IDC备份等;在MySQL原理方面,有更多了解,比如对MySQL的工作机制开始阅读部分源码,比如对主从同步(复制)技术的源码学习,或者对某个存储引擎(MyISAM/Innodb/TokuDB)等等的源码学习理解,如果条件允许,可以参考CSV引擎开发自己简单的存储引擎来保存一些数据,增强对MySQL的理解;在这个过程,如果自己有兴趣,也可以考虑往DBA方向发展。MongoDB层面,可以考虑比如说在写少读多的情况开始在线上应用MongoDB,或者是做一些线上的数据分析处理的操作,具体场景可以按照工作来,不过核心是要更好的深入理解RMDBS和NoSQL的不同场景下面的应用,如果条件或者兴趣允许,可以开始深入学习一下MongoDB的工作机制。
4.Redis/Memcached
在第二阶段的基础上面,能够更深入的应用和学习。因为Memcached不是特别复杂,建议可以把源码进行阅读,特别是内存管理部分,方便深入理解;Redis部分,可以多做一些复杂的数据结构的应用(zset来做排行榜排序操作/事务处理用来保证原子性在秒杀类场景应用之类的使用操作);多涉及aof等同步机制的学习应用,设计一个高可用的Redis应用架构和集群;建议可以深入的学习一下Redis的源码,把在第二阶段积累的知识都可以应用上,特别可以阅读一下包括核心事件管理、内存管理、内部核心数据结构等充分学习了解一下。如果兴趣允许,可以成为一个Redis方面非常专业的使用者。
5.PHP
作为基础核心技能,我们在第二阶段的基础上面,需要有更深入的学习和应用。从基本代码应用上面来说,能够解决在PHP开发中遇到95%的问题,了解大部分PHP的技巧;对大部分的PHP框架能够迅速在一天内上手使用,并且了解各个主流PHP框架的优缺点,能够迅速方便项目开发中做技术选型;在配置方面,除了常规第二阶段会的知识,会了解一些比较偏门的配置选项(phpauto_prepend_file/auto_append_file),包括扩展中的一些复杂高级配置和原理(比如memcached扩展配置中的memcache.hash_strategy、apc扩展配置中的apc.mmap_file_mask/apc.slam_defense/apc.file_update_protection之类的);对php的工作机制比较了解,包括php-fpm工作机制(比如php-fpm在不同配置机器下面开启进程数量计算以及原理),对zend引擎有基本熟悉(vm/gc/stream处理),阅读过基本的PHP内核源码(或者阅读过相关文章),对PHP内部机制的大部分核心数据结构(基础类型/Array/Object)实现有了解,对于核心基础结构(zval/hashtable/gc)有深入学习了解;能够进行基本的PHP扩展开发,了解一些扩展开发的中高级知识(minit/rinit等),熟悉php跟apache/nginx不同的通信交互方式细节(mod_php/fastcgi);除了开发PHP扩展,可以考虑学习开发Zend扩展,从更底层去了解PHP。
6.C/C++
在第二阶段基础上面,能够在C/C++语言方面有更深入的学习了解,能够完成中小型C/C++系统的开发工作;除了基本第二阶段的基础C/C++语法和数据结构,也能够学习一些特殊数据结构(b-tree/rb-tree/skiplist/lsm-tree/trie-tree等)方便在特殊工作中需求;在系统编程方面,熟悉多进程、多线程编程;多进程情况下面了解大部分多进程之间的通信方式,能够灵活选择通信方式(共享内存/信号量/管道等);多线程编程能够良好的解决锁冲突问题,并
http://www.lampbrother.net 且能够进行多线程程序的开发调试工作;同时对网络编程比较熟悉,了解多进程模型/多线程模型/异步网络IO模型的差别和选型,熟悉不同异步网络IO模型的原理和差异(select/poll/epoll/iocp等),并且熟悉常见的异步框架(ACE/ICE/libev/libevent/libuv/Boost.ASIO等)和使用,如果闲暇也可以看看一些国产自己开发的库(比如muduo);同时能够设计好的高并发程序架构(leader-follow/master-worker等);了解大部分C/C++后端Server开发中的问题(内存管理、日志打印、高并发、前后端通信协议、服务监控),知道各个后端服务RPC通信问题(struct/http/thirft/protobuf等);能够更熟络的使用GCC和GDB来开发编译调试程序,在线上程序core掉后能够迅速追查跟踪解决问题;通用模块开发方面,可以积累或者开发一些通用的工具或库(比如异步网络框架、日志库、内存池、线程池等),不过开发后是否应用要谨慎,省的埋坑去追bug。
7.前端
深入了解HTTP协议(包括各个细致协议特殊协议代码和背后原因,比如302静态文件缓存了,502是nginx后面php挂了之类的);除了之前的前端方面的各种框架应用整合能力,前端方面的学习如果有兴趣可以更深入,表现形式是,可以自己开发一些类似jQuery的前端框架,或者开发一个富文本编辑器之类的比较琐碎考验JavaScript功力。
8.其他领域语言学习
在基础的PHP/C/C++语言方面有基本积累,建议在当前阶段可以尝试学习不同的编程语言,看个人兴趣爱好,脚本类语言可以学学 Python/Ruby 之类的,函数式编程语言可以试试 Lisp/Haskell/Scala/Erlang之类的,静态语言可以试试 Java/Golang,数据统计分析可以了解了解R语言,如果想换个视角做后端业务,可以试试 Node.js还有前面提到的跟Nginx结合的Nginx_Lua等。学习不同的语言主要是提升自己的视野和解决问题手段的差异,比如会了解除了进程/线程,还有轻量级协程;比如在跨机器通信场景下面,Erlang的解决方案简单的惊人;比如在不想选择C/C++的情况下,还有类似高效的Erlang/Golang可用等等;主要是提升视野。
9.其他专业方向学习
在本阶段里面,会除了基本的LNMP技能之外,会考虑一些其他领域知识的学习,这些都是可以的,看个人兴趣和长期的目标方向。目前情况能够选择的领域比较多,比如、云计算(分布式存储、分布式计算、虚拟机等),机器学习(数据挖掘、模式识别等,应用到统计、个性化推荐),自然语言处理(中文分词等),搜索引擎技术、图形图像、语音识别等等。除了这些高大上的,也有很多偏工程方面可以学习的地方,比如高性能系统、移动开发(Android/IOS)、计算机安全、嵌入式系统、硬件等方向。
10.系统设计
系统设计在第二阶段的基础之上,能够应用掌握的经验技能,设计出比较复杂的中大型系统,能够解决大部分线上的各种复杂系统的问题,完成类似浏览器-> CDN->负载均衡->接入层->Nginx+PHP->业务缓存->数据库->各路复杂后端RPC交互(存储后端、逻辑后端、反作 bi 后端、外部服务)->更多后端酱紫的复杂业务;能够支撑每天数千万到数亿流量网站的正
PHP函数 1.概念
将一段常用的功能代码,进行封装,然后起个名字,叫”函数” 使用函数,可以减少我们的工作量。对于后期的项目维护,十分方便。2.函数定义格式
Function functionName(形参1,形参2,形参3......){
函数的功能代码
[return 参数r] } 函数语法格式说明:
Function是系统关键字,不分大小写。
functionName是自定义的函数名称。函数名的命名规则与变量一样,只是不加$符号。
()定义函数时的参数,该参数又称为”形参”。
形式参数:主要用来接收调用函数者,传递过来的数据。
形参可以是多个,多个形参之间用逗号隔开,也可以没有形参
形参其实就是一个变量的名称,主要用来临时存储数据的。{}是函数的功能代码。Return语句:
向谁返回内容?谁调用了该函数,就向谁返回。
返回什么内容?该内容的类型不限制,可以是任何数据类型
黑马程序员济南中心 编著
Return语句,一旦执行,函数将中止。也就是return语句之后的函数代码不再执行。
Return 语句返回一个值,并退出函数。
3.函数调用
函数定义是不会自动执行的。函数必须要经过调用,才能看到结果 调用函数和定义函数不分顺序。4.函数参数
a)形式参数(形参):形参主要用来接收调用函数传递过来的数据。
i.形参一般是变量,不能是具体的值
ii.形参只能在函数内部使用
b)实际参数(实参):向定义函数传递的数据
i.实参可以是具体值,也可以是一个变量
c)形参和实参的个数,一般情况下必须一致 Function showInfo($a){ Echo “OK”;} $a = 100;showInfo($a);函数参数传递 1.值传递(拷贝传值)将一个变量的值,”拷贝”一份,传给形参
黑马程序员济南中心 编著
在函数内部,对形参进行了修改,而函数外的这个变量不会改变 函数内的形参,与函数外的实参,是相互独立的,没有任何联系的
在PHP中,默认”值传递”的有:字符型、整型、浮点型、布尔型、数组、NULL
2.引用传递
将一个变量的地址传给形参,即形参与变量指向的是”同一物”.变量和参数之间是相互联系,修改一个,另一个会跟着变。
参数在使用引用传递时,需要在”形参”前加一个”&”符号。”实参”前不能添加。
默认引用传地址:资源和对象
黑马程序员济南中心 编著
3.默认参数
PHP支持默认参数。
当实参格式少于形参个数时,那么少的那个实参可以用末日的形参来代替
匿名函数
1.概念
没有名字的函数就是匿名函数,它不能单独定义也不能单独调用 匿名函数一般用来给其他变量赋值的。
黑马程序员济南中心 编著
2.匿名函数的两种用法
i.将匿名函数当成一个数据,赋给其他变量
ii.将匿名函数作为函数的参数来使用
变量作用域
变量作用域:就是变量生效的范围
在PHP中三种变量作用域:全局变量、局部变量、超全局变量。1.全局变量
全局变量:在函数外部定义的变量,称为”全局变量”。
黑马程序员济南中心 编著
全局变量,在网页执行完毕,就消失了。在JS中,全局变量,可以直接在函数内部来使用 在PHP中,全局变量不能直接在函数内部使用 2.局部变量
局部变量:在函数内部定义的变量,称为”局部变量”。局部变量,只能在函数内部来使用 局部变量,在函数执行完毕后就消失了。3.在局部作用域中访问全局变量---global关键字
Global关键字,只能在函数内部来使用
不能在使用global关键字时,直接给变量赋值。只能是先声明为全局,再赋值。
$GLOBALS超全局数组
“超全局数组变量”可以在网页的任何地方使用,包括函数内部和函数外部。$GLOBALS超全局数组中包含的内容有:$_GET、$_POST、$_COOKIE、$_FILES
实验内容:php操作数据库
实验步骤:首先在Mysql,text数据库中建立一个t_stu的表。
2.新建conn.php文件,链接Mysql数据库,并方便接下来的包含和引用。
3.新建index.php文件,连接数据库,然后再设计页面插入一个表格,将建立的学生表的、字段、类型都加入到表中;然后在每个位置的相应出编写一个PHP程序,从而将数据库中的相应信息导入进来。(其中可以添加边框颜色以及背景颜色,使页面设计更加美观)
4.设置每页显示数据数进行分页操作,新建page.class.php文件,设计分页php程序,并在index.php中引用,部分代码如下:
5.在设计表格中添加删除修改操作,实现对学生信息的即时修改,在点击修改后跳转到修改页面,新建upddate.php文件,设置更新php程序。代码如下:
6.新建delete.php
文件,实现删除的操作,代码如下:
7.新建add.php文件,实现增添学生的功能。8.测试程序
在ie中输入127.0.0.1/index.php,运行结果如下:
点击增加学生:
点击修改
最开始决定要学习PHP的时候,主动的接近and认识了一些在PHP方面有过经验的一些师兄。让他们给介绍了经验还有需要看的书籍,资料等等。
然后自己开始慢慢的从基础做了。记得最开始的时候做的是一个跟“正则表达式”有关的东东。就是冲搜索引擎上偷数据。虽然现在看来很简单,但那时看来还是很复杂的。
再后来,开始做一些站点了。在css和javascript方面有有一些学习。以及其他的一些PHP的函数操作。一般都是字符串的操作等等。熟悉一些函数。
后来就是写了一些简单的系统。记得我们班推优入党的时候,我写了一个投票系统,装在一个本里面。带到教室里面去投的。那个时候觉得还不错,现在想想那个投票系统还是有很多的不足的。例如,没有投票次数的限制等等。(但是觉得都是自己班的,应该不会出现什么吧,结果还是出问题了。本来是一人投两票的,结果是出现了单数的总票数,哎哎)
其实投票系统已经涉及到了数据库的操作了。有了数据库操作的基础,就可以开始做文章发布系统了。给自己的站点写了一个文章发布系统(之前没有存入数据库的时候,我都是用Dreamweaver在本地生成,然后上传的,现在想想,麻烦死了)。
文章发布系统写好了之后,就是对这个发布系统的一些优化了。比如,文章发布的时候静态页的自动生产,目录的自动更新,文件上传等等。还有管理员登录安全的一些操作。
PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,下面是学习啦带来的php实训心得体会,仅供参考。
php实训心得一:
1、关于输出:echo不是函数,只是一个语言结构,因此不需要用括号把后面的参数括起来,当然,它也允许使用像函数那样的括号,如echo(“hello,xiyounet!”)。
2、关于变量类型:在php变量类型上,一直存在不同的声音。有的人认为不用关注变量类型是php的优点,使开发更简单;有的人则认为没有严格的变量类型阻碍了php的发展,也使得php程序很不规范。我觉得这是一个仁者见仁智者见智的问题。在开发php中,确实很少存在像java等语言那样频繁地进行变量定义和类型转换,给开发者带来了很大的方便。而同时,php程序的规范性、可读性也不如java那么严谨,但这正是php的特点,因为php能发展到现在,成为三大网络编程语言之一,在很大程度上归功于它的简单,易学,易用的特点。因此,总体上看是优点大于缺点。至于它的缺点,可以通过加强编码的规范,增加注释等来弥补,况且在php中也是可以明确定义变量的使用类型的。
3、关于分支程序:在较多分支的情况下,使用switch不只是在程序结构上要优于if,在性能上比if要好得多。例子中的条件是$a(一个变量),这个条件当然也是可以像if中的条件那样是个表达式。在if分支中,每个分支都会对条件表达式进行一次运算,但在switch中,它只对条件计算一次就会与所有分支进行对比。所以在有两个以上的分支中,建议尽量使用switch来代替冗长的if嵌套。
4、关于文件引用:php中文件引用的两个函数:include include_once和require require_once推荐使用require_once和include_once这样可以避免文件被重复多次使用。而include的功能和require十分相似,只是include在错误处理上放宽了一点,如果include的文件不存在,只会给出一个警告并运行后面的代码,但require则会给出错误并停止运行。事实上,include和require的主要差别在于,include仅当被执行时才会被包含进来,而require不论是否真的被执行都会先将文件包含进来。例如,if($conditions){ include “inc.php”;}.只有当$conditions为ture时,inc.php才会被引入并被解释。但如果是require,PHP解释器不论$conditions是什么,都会先引入inc.php,再一同解析所有程序。因此,require看上去比include要严格一些。
5、关于注释:注释是程序中必不可少的部分,高质量的注释往往会使程序更具可用性。一般而言,典型代码中的注释包括:文件说明、类说明、方法函数说明、属性变量说明、特殊情况解释。下面作点简要的解释:
A、文件说明:针对整个代码文件所作的说明,例如文件名、版本号、作者、发布日期、使用说明等。
B、类说明:用简要的文字描述这个类的作用。
C、方法函数说明:应该相对详细一些,需要说明函数的作用、参数类型的作用、返回值类型的作用等。
D、属性变量说明:用简要的文字描述它的作用。
E、特别说明:针对某部分的代码注释说明,一些程序的思路、算法也需要在代码旁边注明,一般是使用单行注释。
6、关于代码复用:就是指代码重用。利用曾经写过或者别人写过的正确代码,而不是再重新编写相同功能的代码的过程就是代码重用。除了代码级的复用还有体系机构的复用、设计模式的复用等形式,但所有的目的就是为了最大程度地减少重复劳动,提高开发的质量和效率。
php实训心得二:
我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:
我的文章不会对您的学习起到实质性的作用,您能否成功,还得靠自己的,坚持,坚持,再坚持,就是步入成功的不二法门。
我先把我自己学习PHP的过程做一下概括:
(1)熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度
(2)理解动态语言的概念,运做机制,熟悉PHP语法
(3)学习如何将PHP与HTML结合起来完成简单动态页面
(4)接触MYSQL,开始设计数据库程序
(5)不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板
(6)完成一个功能齐全的动态站点
我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单,即使是小吃部的烧饼也不是一下子就会做成的。
我先解释一下我的学习思路。
首先,理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。
在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。
HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,你才会记忆深刻,而一味的啃书,绝对是不行的,我想大部分新手之所以觉得概念难学,大部分是一个字“懒”,懒是阻止进步的最大敌人,所以克服掉懒的习惯,才能更快的学好一样东西。
也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢?
OK,掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。
我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,皮皮我的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。
那么咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。
对于PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限的为了新手而努力了,如果你学过其他的语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。
书过三遍自然熟,这个简单的道理告诉我们,即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。
在一段挣扎之后,聪明的你,显然已经逐渐的开悟了,慢慢的理解了编程的概念,那么祝贺你,你已经迈出了成功的第一步。
搞清楚HTML和PHP的概念,那么PHP和HTML混合编程应该不成问题,在这期间,你完全可以让PHP给你算算一加一等于几,然后在浏览器输出,不要觉得幼稚,这的确是跟阿波罗登月一样,你打的是一小段代码,但是对于你的编程之路,可是迈出了一大步啊!兴奋吧?但是不得不再给你泼点冷水,您还是菜鸟一个。
高兴一段时间就必须继续努力了,接下来就是学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。
头晕归头晕,目眩归目眩,你不可能吃饭的时候咬了自己一下舌头就从此不吃饭了不是?放下畏惧,继续努力,咱们是来征服它的,而不是被它征服的,振奋起来吧同志。
在一番搏斗之后,你终于理解了数据库的概念,而且让你兴奋不已的是你终于可以通过PHP来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。
学会了PHP和数据库的你,无疑是左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!
等到你发奋努力的学会了用PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。
这个时候的你也许是这种状态:
你会HTML吗?会,我能编好几个大表格排板的网页啦!
你会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!
你会MYSQL吗?会,我会把我的信息在数据库里插入删除啦
那,接下来你该怎么做呢?我觉得,小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。
花了一段时间,你终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。
但是,你可能瞅瞅东,看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?
不要急,可以说你的马步已经扎的差不多了,接下来就要开始练把势的时候了,如果有条件的话,用笔或者打印一个简易的PHP手册在身上,时不时的摸出来看看,记得,去WC也不能放过(^2^)。
再有条件的话,买本书看看吧,《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-)
巩固了自己的知识,熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-
这个时候,你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧,让好朋友来看看,嘿,看咱写的多棒,然后再在网上宣传一下。
几天之后你再打开留言本,哎?哇,一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!
你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。
那么接下来,这就算学会啦?NO,NO,NO,还早呢,你至尽还没碰过OOP之类的吧?模板呢?
恩,学!加紧学呀学,学会了这些之后,你又学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...总而言之,你绝对不会发现你全部都学会了,一些真正的强人总会搞出新玩意来丢给你,你不学就落后了,也印证了前人的经验,果然是学无止境啊!
我想通过我的一番YY,你也应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^
看完之后你发现,罗嗦这么多,对我一点用处没有啊,我知道该怎么学,但是我想如何才能更快的学,一周速成,啊不,24小时速成那种,皮皮你有没?
我.......我没有,但是2分钟之内把你扁进医院里,我倒是有把握-_-
学东西,永远不要妄想有速成这一说,告诉你了一个方式,但是缺少努力这一环节,那也是白搭。
但是有一点我可以给你保证的就是,你学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。
不过语法好学,但是怎么用语法来实现每个人都有每个人的方式,几乎是各有千秋。然而借鉴别人成功的代码,绝对是有益无害,因此,多看那些经过千锤百炼凝出来的经典代码,是进阶的最好方法。
讲了这么多,无非是想说:学习PHP不仅要掌握方法,更多的是付出汗水,我不希望看到中途放弃的人,相信自己,相信自己的选择,更要相信自己的能力,如果自己想放弃,暴力一点的话,就自己抽自己一个嘴巴,然后大吼:别人可以,我为什么就不可以?(是不是有点阎罗教练的味道,默默的确是电影看多了,抽嘴巴是会痛的,各位其实明白这个道理了就行了)
另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学,也得学会了PHP。然后再学,见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历,得不偿失,最重要的是,你会被别人瞧不起,没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。
php实训心得三:
PHP是一个基于服务端来创建动态网站的脚本语言,我们可以用PHP和HTML生成网站主页。当一个访问者打开主页时,服务端便执行PHP的命令并将执行结果发送至访问者的浏览器中,PHP和他们不同之处在于PHP开放源码和跨越平台,PHP可以运行在WINDOWS?NT和多种版本的UNIX上。它不需要任何预先处理而快速反馈结果,它也不需要mod_perl的调整来使您的服务器的内存映象减小。PHP消耗的资源较少,当PHP作为Apache Web服务器一部分时,运行代码不需要调用外部二进制程序,服务器不需要承担任何额外的负担。
这个学期开设php web 设计的课程,跟以前所有开设的课程有很大的区别,这门课程的灵活性很强,学习起来说难不难说易不易;其实学习的过程当中并不一定要学到多少东西,个人觉得开散思维怎样去学习,这才是最重要的,而这门课程恰好体现了这一点。此次的实训以班级为主体,以个人为单位而开展的一次综合的实践,老师也给予我们足够的空间让我们完成此次的实训,这让我觉得压力减轻。
这次的实训从代码上面看起来很复杂,原来以为自己负责将网站建起来任务是最轻的,没有想到是最为复杂的。我们的时间有限,不得不在其他的时间进行补充和修改。此次我们的主题就是围绕学生管理系统和新闻发布系统,通过这次的实训,让我受益匪浅。第一.不懂就问,即使一个学习的机会又是一个解决问题的办法。不管这次的结果会怎样,至少我曾经在一起努力过,体验其中的过程才是收获。
第二:在建系统的过程当中,有些地方没有接触过,不懂得怎样将它的效果在自己的网页中实现;如果没有这次实训,我也不会刻意的去学,去摸索,更不会看到自己的缺陷。第三:通过这次的实践操作,我认识到了自己的不足,更感觉到了自己与别人的差距。为了明年的毕业而做准备,从各方面充实自己,使自己适应这个社会。
1. 操作系统的安装配置和管理能力
熟悉windows操作系统的安装、配置和管理,能解决常见的操作系统问题。
2.网络规划组建的能力
能够根据政府或企事业的单位的需求、特点进行网络的结构的规划和设计,选择正确的网络协议,选取适当的网络互联设备,合理进行网络综合布线、网络设备连接,组建Windows Server网络平台。
3.网络服务的搭建和管理能力
能根据用户需求,构建、配置和管理以下服务器:DHCP服务器,DNS服务器,WEB服务器,文件服务器,FTP服务器,邮件服务器,终端服务器,RAS服务器,VPN服务,Windows 2003软路由器,代理服务器,流媒体服务,杀毒服务器,证书服务器,即时信息服务器等。
4.网管软件的应用及网络安全维护能力
熟练的进行企业中的各种常用网络管理软件的安装、调试、使用及维护。使用防火墙加强网络安全,保护企业数据信息的完整性和机密性。
二、毕业技能综合实训任务书
网络系统管理专业
实训项目: 时讯公司网络服务构建与管理 学生姓名: 班级: 学号: 项目类型: 企业项目改造 指导教师:
1、实训目的:
培养学生网络规划组建的能力、网络服务的搭建和管理能力、网管软件的应用及网络安全维护能力、网站搭建能力,进一步巩固所学知识,为今后从事本专业相关工作奠定坚实基础。。
2、毕业技能综合实训项目简介:
时讯公司需要网络服务,根据时讯公司的要求,规划网络,组建网络,搭建服务器,并搭建网络,维护公司数据的安全。
公司的`网络拓扑结构如下:
时讯公司总部设在上海,在北京设有分公司。总部主要进行市场和营销,北京分公司负责产品开发。公司使用Windows Server 2003建立了树结构,在上海总公司建立了父域shixun.com,在北京分公司建立了子域bj.shixun.com,在两个域中均有两台域控制器。
上海总公司架设了一台应用服务器,用于对公司内部和Internet上的用户提供各类服务。目前该服务器上架设了两个web网站。
北京分公司架设了一台文件服务器,对产品研发提供存储支持。
注:Shixun.com域里需要有的客户端为:sh-cl-01、sh-cl-02,Bj.shixun.com域里需要有的客户端为:bj-cl-02。
3、实训内容及任务分配:
(1)、设备配置
上海总部的局域网架构如图所示
时讯公司网络需求如下:
1. 申请的公网ip地址为202.1.7.0/28。
2. 公司分成上海总部和北京分部。总公司通过1台CISCO2621连接分部。分部的路由器型号都是CISCO1721。
3. 公司采用城域网SDH专线接入。
4. 整个公司采用OSPF协议连接。
5. 总部采用双核心设备,实验室采用两台3550,实现链路捆绑,负载均衡。
6. 北京分部有三层交换机,并划分了12个VLAN.
7. 整个公司采用一台PIX515实现互联网接入。
8. 公司的公共WEB服务器及FTP服务器发布到外网上。外网ip地址为202.1.7.4
9. 总部有多台交换机,要求最少管理VLAN,VLAN共有22个,采用10.0.0.0网段。
10. 总部的vlan定义为1--22,北京北京分部的12个vlan 定义为110—112。
11. 总部的vlan要求vlan1-vlan10采用202.1.7.5访问外网,vlan11-vlan22采用202.1.7.6访问外网。
12. 配置总部的vlan1-vlan2可以在上班的时间(8:00--17:00)访问ftp服务器。
13. 总部的出口路由器地址为202.1.7.1,北京分部的路由器出口地址为202.1.7.2,当总部要连接分部时,尽量从公网地址的后边选取IP地址。
14. 总部有一台交换机连接的管理层用户,要求每个交换机的接入接口最大连接数为2,如果违规则关闭接口。
15. 公司总部采用802.1x技术实现认证。
16. 配置总部的vlan20--22只有在上班时间才可以访问互联网。
17. 分部路由器连接总部路由器使用PPP协议,并使用先CHAP后PAP的认证技术。
18. IP地址分段原则为10.0.0.0/24。总部使用前100个,北京分部中间100个,即10.0.1.0/24,10.0.255.0/24等等。
19. 在北京分部使用路由器实现DHCP功能。IP地址池为10.0.101.0,ip地址池为10.0.102.0,网关,dns服务器地址等自配。但要给出理由及配置方法。以上两个IP地址段对应的vlan分别是vlan8-vlan9
20. 北京分公司与总公司配置一条VPN的备用链路,一旦城域网链路失败,则马上启用VPN进行拨入。
公司配置要求,必须减少对CPU,内存的负担。并要较少客户机等待的时间。
(2)、软环境实训环境搭建
根据公司网络拓扑结构图,使用虚拟机搭建公司的网络。服务器的操作系统为Windows Server 2003,客户端的操作系统为Windows Xp。按照拓扑图中要求设置各计算机的计算机名和IP地址。要求使用连接克隆的虚拟机,保存在D盘。网络能正常联通。
(3)、实现时讯公司基于域的管理
基于 Active Directory 实现时讯公司的统一管理,采用单域结构,域的名称为 shixun.com。公司使用Windows Server 2003建立了树结构,在上海总公司建立了父域shixun.com,在北京分公司建立了子域bj.shixun.com,在两个域中均有两台域控制器,其中一个是辅助域控制器。
(4)、实现IP 地址自动化管理
实现 IP 地址自动化理。按地区实现子网划分。服务器(域控制器除外)使用保留地址,客户端使用自动IP地址。保证各地用户的都能快速登录。
(5)、实现组策略管理
实现全公司的安全策略:对全公司员工强制密码策略. 要求是:
密码必须符合复杂性要求(开启)
密码长度最小值 (7个字符)
密码最长使用期限 (90天)
密码最短使用期限 (1天)
强制密码历史(12个记住密码)
用可还原的加密来存储密码 (禁止)
北京分公司出于对员工计算机的安全,对公司计算机进行了一些管理:要求十分钟后无人使用计算机会自动屏幕保护,屏幕保护制定为logon程序,员工无法对此进行更改;
为了方便员工了解公司的项目情况,公司对员工的IE浏览器进行了一些管理:要求将IE首页设置成了公司的门户网站:portal.shixun.com/;
另外该公司的HR、IT部门需要使用组策略对该部门的所有用户的操作系统安装ISA防火墙。ISA防火墙安装程序放在了C:Software文件夹下。
完成相应的组策略设置。
(6)、实现对网络用户按部门管理
对网络用户可以按部门实现管理。不同部门的用户放在不同的组织单元, 方便管理。
组织单元名称:
每个组织单元内建立若干示例用户,用你的名字命名,比如guanli_zhangsan,xingzheng_zhangsan,caiwu_zhangsan等。
(7)、实现对用户权限的管理
【php试题】推荐阅读:
php期末试题09-28
试题导游实务试题10-01
急诊科试题出科考试题02-07
国际贸易试题a卷试题06-25
考试题-B4_试题_答案06-01
高考模拟试题之诗鉴赏试题赏析05-28
建筑法规试题与答案(期末试题全套版)11-17
食品安全法知识竞赛试题(备考试题)01-28
2023年高考文综试题分析地理试题10-28