设为首页 收藏本站
查看: 483|回复: 0

[经验分享] PHP核心技术2

[复制链接]

尚未签到

发表于 2018-12-13 07:07:19 | 显示全部楼层 |阅读模式
32.PHP中,如何获得一个数组的键值?(酷讯)
使用key()可以获得数组中当前元素的键名,使用current()则可以返回当前元素的值。
使用array_keys()则可以得到数组中所有的键名。
使用foreach结构foreach($arr as key=>value)可以通过keyvalue分别获取键名和值。
33.如果模板是用smarty模板。怎样用section语句来显示一个名为$data的组。比如:
$data=array(0=>array('id'=>8,'name'=>'name1'),1=>array('id'=>10,'name'=>'name2'),2=>array('id'=>15,'name'=>'name3')
);写出在模板页的代码?若用foreach语句又要怎样显示呢?
用section语句:
id:name:数组为空用foreach语句:
id:name:数组为空34.哪个选项会匹配下边的这个正则表达式?(/.*xyz\d/)
A.*****xyz

B.*****xyz1
C.******xyz2
D.*xyz
答案:C
35.以下哪个错误无法被标准的错误控制器获取?
A.E_WARNING
B.E_USER_ERROR
C.E_PARSE
D.E_NOTICE
答案:B
36.以下哪种错误类型无法被自定义的错误处理器捕捉到?(奇矩互动)
A.E_WARNING
B.E_USER_ERROR
C.E_PARSE
D.E_NOTICE
答案:C
37.(^\s)|(\s$)这个正则表达式作用是:__________;
匹配以0个或多个空白符开头或者0个或多个空白符结尾的字符串
38.编写函数取得上一月的最后一天
39.在很多时候,我们可以通过apache的主配置文件来设置对test目录的访问权限控制,如http://IP/test请问如果需设置test下的一个子目录的访问控制权限,是否可以在主配置文件中修改,如果不可以应如何解决。
可以,还可以在需要控制的子目录下创建.htaccess文件,写入访问控制。
40.如果我的网站用的utf-8编码,为防止乱码出现,都需要注意哪些地方?
从以下几个方面考虑:

  •   数据库中库和表都用utf8编码
  •   php连接mysql,指定数据库编码为utf8 mysql_query(“set names utf8”);
  •   php文件指定头部编码为utf-8header(“content-type:text/html;charset=utf-8”);
  •   网站下所有文件的编码为utf8
  •   html文件指定编码为utf-8
41.在url中用get传值的时候,若中文出现乱码,应该用哪个函数对中文进行编码?
urlencode()
42.写出两种对变量加密的函数?
md5(str);sha1(str);
43.如何把2009-9-2 10:30:25变成unix时间戳?
44.如何把一个GB2312格式的字符串装换成UTF-8格式?
45.如果需要原样输出用户输入的内容,在数据入库前,要用哪个函数处理?
htmlspecialchars或者htmlentities
46.写出五种以上你使用过的PHP的扩展的名称(提示:常用的PHP扩展)
mb_sring、iconv、curl、GD、XML、socket、MySQL、PDO等
47.了解MVC模式吗?请写出三种以上目前PHP流行的MVC框架名称(不区分大小写)
FleaPHP、Zend Framework、CakePHP、Symfony、ThinkPHP、YII、CodeIgniter等
48.php中WEB上传文件的原理是什么,如何限制上传文件的大小?
上传文件的表单使用post方式,并且要在form中添加enctype='multipart/form-data'。
一般可以加上隐藏域:,位置在file域前面。
value的值是上传文件的客户端字节限制。可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。
使用file文件域来选择要上传的文件,当点击提交按钮之后,文件会被上传到服务器中的临时目录,在脚本运行结束时会被销毁,所以应该在脚本结束之前,将其移动到服务器上的某个目录下,可以通过函数move_uploaded_file()来移动临时文件,要获取临时文件的信息,使用$_FILES。
限制上传文件大小的因素有:

  •   客户端的隐藏域MAX_FILE_SIZE的数值(可以被绕开)。
  •   服务器端的upload_max_filesize,post_max_size和memory_limit。这几项不能够用脚本来设置。
  •   自定义文件大小限制逻辑。即使服务器的限制是能自己决定,也会有需要个别考虑的情况。所以这个限制方式经常是必要的。
49.简述UBB code的实现原理。(YG)
UBB代码是HTML的一个变种,通过程序自定义我们的标签,比如“[a]PHP中UBB的使用[/a]”这样的标签,其实质就是查找[a][/a]标签,将其替换成的标准html,说白了,就是将标准的html标记通过技术手段使其简化,其输出出来的结果还是标准的html。
明白了ubb的原理,那么再制作一个简单的ubb编辑器就不难了,和fck之类的编辑器比较起来,ubb代码最大的优点就是代码简单,功能很少,简单的ubb只需要一个文件,而且ubb标签可以自己来定义,更改起来很方便,在php中就是利用替换函数就可以将
html进行标签化,输出时进行标签的转化。
50.怎么把文件保存到指定目录?怎么避免上传文件重名问题?
可以自己设置上传文件的保存目录,与文件名拼凑形成一个文件路径,使用move_uploaded_file(),就可以完成将文件保存到指定目录。
可以通过上传的文件名获取到文件后缀,然后使用时间戳+随机数+文件后缀的方式为文件重新命名,这样就避免了重名。
51._____函数能返回脚本里的任意行中调用的函数的名称。该函数同时还经常被用在调试中,用来判断错误是如何发生的。(奇矩互动)
debug_print_backtrace()
52.在Smarty模板语法中怎么能遍历数组a=array(array(id=>0),array(id=>1),array(id=>2),……)id=>010000id=>500,HTML亿ids
{section name=temp loop=$ids}
    {if $ids[temp].id==500}
        {$ids[temp].id}
    {esle}
        {$ids[temp].id}
    {/if}
{/section}53.在Smarty模板语法中如何获取当前时间,并且使用Y-m-d H:i:s的格式输出?(亿邮)
使用{$smarty.now}来获取当前时间,得到的是unix系统时间戳
使用变量调节器进行格式化,如下:
{$smarty.now|date_format:“%Y-%m-%d%H:%M:%S”}
54.在Smarty模板语法中如何获取php的全局环境变量(亿邮)
$smarty.get.变量 #显示通过get方式传过来的指定变量的值
$smarty.post.变量 #显示通过post方式传过来的指定变量的值
$smarty.cookies.变量 #显示通过cookie中指定变量的值
$smarty.server.SERVER_NAME #显示server变量值,$_SERVER系列变量
$smarty.env.PATH #显示系统环境变量值,$_ENV系列变量
$smarty.session.变量 #显示session中指定变量的值
$smarty.request.变量 #显示通过post、get、cookie中指定变量的值
55.在Smarty模板中如何用自定义函数(亿邮)
使用模板分隔符包含,传递参数则使用HTML属性的方式,例如:
{html_image file="pumpkin.jpg"}
56.列举出你所知道的php系统函数库例如,数学函数库(亿邮)
mysql,gd,pdo,XML,zip,filesystem,mail等
57.假如让你来写一个函数实现Utf-8转gb2312,那么函数的名称应该怎么命名?(亿邮)
utf8_to_gb2312或者utf8togb2312
58.请描述如下URL重写规则的用意。(卓望)
RewriteEngineonRewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FILENAME}!-dRewriteBase/RewriteRule./index.php[L]如果REQUEST_FILENAME文件存在,就直接访问文件,不进行下面的rewrite规则,
如果REQUEST_FILENAME目录存在,就直接访问目录,不进行下面的rewrite规则,
RewriteRule./index.php[L]的意思是把所有的请求都给index.php处理。
59.Warning:Cannot modify header information-headers already sent by(output started at D:\src\init.php:7)in D:\src\init.php on line10通常什么情况下php会报该警告信息?(卓望)
一般是在header、set_cookie以及session_start函数前面有输出(包括空格)的情况下,会报该警告信息
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650669-1-1.html 上篇帖子: PHP核心技术 下篇帖子: php面试题之二——数据结构和算法(高级部分)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表