zoukankan      html  css  js  c++  java
  • webexam项目杂记2

    strstr,stristr是返回匹配到的字符串,常规的字符串操作尽量避免使用正则,
    strstr是返回从匹配字符(串)开始(包括该匹配字符串)到结束的(或开头的)字符串

    而如果仅仅只是判断是否包含匹配字符串时,用strpos(比strstr更快捷),返回的位置索引是从0开始的,
    如果是匹配开头,如strpos('abcde','a')会返回0, 因此在判断是否匹配时要用=== 或!来判断,而不要用 !=来判断

    ini-get和ini_set只是对该脚本在运行时有效

    error_log是手动写日志信息到文件,即使是在配置文件php.ini中关闭了日志功能errors_log=Off,这个语句也生效,也会写入消息.

    关于服务器/php脚本/浏览器客户端的信息如操作系统,浏览器类型,浏览时间,ip地址,端口等等都 保存在$_SERVER变量和$_ENV中,重点是查这个变量.

    php配置的安全模式

    默认没有开启,用safe_mode=On开启
    safe_mode_exec_dir= 表示只能执行这个目录下的exe程序
    safe_mode_include_dir= 表示php的包含目录, 这个是linux下类似配置的包含文
    open_basedir= 只能打开这个目录下的目录
    disable_functions 这个列表中的函数不能被执行,主要是一些shell 函数,如phpinfo,system等

    fopen(string $filename, string $mode ,...)中的模式:
    主要有6种:r,r+,w, w+,a,a+
    记忆:

    • 凡是+,表示读写, r表示只读, w和a表示写
    • r/r+, 不创建文件, w和a要创建文件(当文件不存在时)
    • w和a的区别: w的文件指针指向文件头并且将文件截为0(也就是要清空原文件),所以适合新创建或覆盖文件,类似于">"
    • a的文件头指向文件结尾,所以适合追加文件内容,类似于">>".
    • Windows系统文件路径要加双反斜杠,c:wampwwwfoo.txt', 对于二进制文件要加'b'

    写html始终要想到: html和php程序始终是放在web应用程序上,始终是在服务器上写的,程序是放在服务器上的

    input的size和maxlength属性的区别?

    size是指input的"外观",可以显示的有多少个字符,实际输入的字符不规定
    maxlength则是限制你实际可以输入的字符个数.
    通常size是可视化设计属性,应该用css来表示.

    xhtml1-transitional.dtd应该作为一个字典来查询

    其中的%ATTLIST应该作为书写属性的依据
    如input的 checked, disabled ,readonly, onselect, onchange等属性可以查的

    一个中文字符相当于几个字符?

    在不同的编码中,中文字符占用的字节可能不同,如在gbk,gb2312中占2个字节,在utf-8中占3个字节
    注意, 那个是字节,不是字符数
    在html的表单input的maxlength和size属性中, 汉字仍然是1个字符, 自己可以试一试就知道

    为什么表单中用name来获取input,select,textarea的值,而不用id?

    因为id每个item只能是唯一的,而name对于多个item可以是相同的,如人的名字和身份证id
    那对于多个分组的radio,checkbox来说, 用id就无法处理它们在同一组的情况,而用name就可以.
    所以....

    三元运算符,也叫? 表达式

    ?表达式可以用来代替一些简单的条件语句.
    写法: ?:表达式,得到的是一个值, 其中不能放echo等语句放在?:表达式中,那是if...else的思想
    要想根据不同的判断结果来打印不同的输出, 要把echo放在最前面,然后把值放在?:表达式中
    ?:前面如果是二元表达式条件,应该用括号括起来:
    echo ($x>0) ? $x : 0;

    判断为空是empty(mixed $str), 而不是isempty...

    提交到本身自己的php文件,在载入时,会**按顺序 ** 依次执行其中的 php和html代码. 当submit后, 又

    相当于发送一次html请求.

    获取form表单中的checkbox,select的多个值

    多个checkbox的值:

    • 可以是每个checkbox都给予不同的name, 然后在$_POST中判断每一个不同的name
    • 也可以给所有的checkbox给一个相同的数组名字, 然后$_POST['数组名字']将获得选中的值组成的数字数组
    • 但是, 如果给所有的..... 一个相同的** 名字**, 这时候用$_POST['name'],将只能获得最后一个被选中的值.即前面的选择将被覆盖.

    对于简单的单个文件中的css就没有必要单独创建一个css文件,直接写在php文件的<style ...>中就可以了,这样可以减少http请求的次数, 如果是较大的项目也尽量合并压缩css.

    对于php文件,很多时候,都要把<?php ...?>放在文档的最前面.然后写<html...>, 因为在后面的html文件中需要用到前面的php输出的变量...

    php的单引号和双引号对转义字符的区别?

    单引号只解析两个转义: ', \, 其余不做转义
    而双引号基本上对所有的转义都解析, 如',\, , , 等等.
    但是PHP_EOL是常量,不能放在双引号中进行转义!

    在php中为什么用 , PHP_EOL而不直接用"<br />"

    • 因为在传统的所谓"程序"中, 如c语言,php语言也是遵循惯例,通常是使用 , ,
    • 为了程序的可移植性, 所以用PHP_EOL
    • 只有在html标记语言中才使用<br />, 这个通常都不认为是程序
    • 但是使用 等,虽然在服务器的http响应报文中的响应数据中,看源代码确实是换行了,但是浏览器在解析的时候,会忽略这些换行!
    • 因为浏览器只认<br>
    • 所以, 在从php输出的时候,解决方法是,为什么要使用nl2br: nl2br($str);
  • 相关阅读:
    【开学季】自学嵌入式开发|四核开发板|4412开发板|ARM+Android+linux技术
    迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
    【嵌入式开发板】8月终极暑促迅为Cortex-a9四核入门开发板
    [资料分享]迅为iTOP4412开发板-SDIO WiFi移植文档
    [leetcode] 905. Sort Array By Parity [easy]
    [leetcode] 106. Construct Binary Tree from Inorder and Postorder Traversal(medium)
    [leetcode] 4. Median of Two Sorted Arrays
    [leetcode] 3. Longest Substring Without Repeating Characters
    [leetcode] 105. Construct Binary Tree from Preorder and Inorder Traversal (Medium)
    [leetcode] 110. Balanced Binary Tree (easy)
  • 原文地址:https://www.cnblogs.com/bkylee/p/5124418.html
Copyright © 2011-2022 走看看