php 复习笔记 乱

<?php

echo date('Y-m-d H:i:s', strtotime('-1 days'));
echo date('Y-m-d H:i:s', time()-60*60*24);



get 发送请求HTTP协议通过url参数传递进行接收,post实体数据,通过表单提交大量信息

session:储存用户访问的全局唯一变量,服务器php指定的目录位置,安全性高

当客户端访问服务器时,服务器根据需求设置session,将会话信息保存在服务器上,同时将标示session的session_id传递给客户端浏览器,浏览器将这个session_id保存在内存中,默认的session是保存在files中,即以文件的方式保存session数据。

cookie:客户端 win的temp目录下,减轻服务器压力;

COOKIE 通过HTTP HEADERS 从服务器端返回到浏览器上

事务 作为一个单元的一组有序的数据库操作。

echo php语句 没有返回值 输出一个或者多个字符串
print 函数,只能打印简单类型变量的值
print_r 可以打印复杂类型变量的值

smarty XTemplate ,SVN VSS CVS

优化mysql数据库:
1. 选取适用的字段属性,尽可能减少定义字段长度,尽量把字段设置not null
2. 使用连接join来代替子查询
3. 使用联合来代替手动创建的临时表
4. 事务处理
5. 锁定表
6. 使用外键
7. 建立索引
8. 优化查询语句:在相同字段进行比较操作,索引字段尽量减少函数操作,尽量少使用LIKE关键字和通配符
9. 所得皆必须,只从数据库取必需的数据


php是一个基于服务端来创建动态网站的脚本语言,可以用php和html生成网站页面


大流量:

确认服务器硬件是否足够支撑当前的流量,数据库读写分离,优化数据表,程序功能规则,禁止外部盗链,控制大文件的下载,使用不同主机分流主要流量

首先,确认服务器硬件是否足够支持当前的流量。  
其次,优化数据库访问。
第三,禁止外部的盗链。  
第四,控制大文件的下载。
第五,使用不同主机分流主要流量  
第六,使用流量分析统计软件。

开发过程中加快页面的加载速:
1. 要用到服务器资源时才打开,要用到服务器资源时才打开,要用到服务器资源时才打开
2. 及时关闭服务器资源,及时关闭服务器资源,及时关闭服务器资源
3. 数据库添加索引,数据库添加索引,数据库添加索引
4. 页面可生成静态,页面可生成静态,页面可生成静态
5. 图片等大文件单独服务器,图片等大文件单独服务器,图片等大文件单独服务器
6. 使用代码优化工具,使用代码优化工具,使用代码优化工具



include 有返回值,包含文件不存在或者语法错误的时候不是致命的
require 无条件包含,发生错误时是致命的


如何修改SESSION的生存时间:
1. php.ini session.gc_maxlifetime 999 重启apache
2. 在seesion_start() 之前甚至 session_set_cookie_params();
3. setcookie();

file_get_contents();

401 未被授权 402 代码尚无法使用 403 请求被禁止 404找不到文件

MVC: 由模型(model),视图(view),控制器(controller) 完成的应用程序
由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图

select * from table order by desc limit 0,10 ;

传值vs引用:传值只是把某一个变量的值传给了另一个变量,而引用则说明两者指向了同一个地方。
传值:函数范围内对值的任何改变在函数外部都会被忽略; 必须复制值,对于大型字符串来说操作代价很大;
引用:修改会被保持;不需要复制值,对于性能提高很有好处

error_reporting() 设置错误级别与错误信息回报

preg_replace();
preg_match($pattern,$subject);
preg_match('/^\w+\@\w+(\.\w{2,3}){1,2}$/i',$emil)

js:
rgexp.test(str);stringobject.match(serchvalue);stringboject.match(regexp);
replace;search

preg_replace("/<script[^>].*?>.*?</script>/si", "newinfo", $script);



js表单对话框: alert(),prompt(),comfirm();  焦点 focus()

@ 控制错误输出

声明类 class myclass{};
实例化 $object = new myclass ();
访问   $str = $object->test;;
设置   $object->test = 'value';

mysql_fetch_array 两者兼得
mysql_fetch_row 数字数组
mysql_fetch_assoc 从结果集中取出一行数组作为关联数组

GD库:PHP处理生成图片

html_entity_decode();
htmlentities();
strip_tags();

mysql_connect();mysql_select_db();mysql_query();

数据类型:
int 数字类型;
char 固定长度字符串;
varchar 实际长度字符串;
datetime 日期时间型;
text 文本字符串

isset();empty();

mysql_num_rows();

php 权限控制修饰符: public(公共) private(私用) protected(继承)

__construct;__destruct

parse_url()

javascript不支持二维数组定义,可以用arr[0] = new array()来解决

setTimeout( "go2b()",5000 ); //5秒钟后自动执行go2b()

print_r(__file__);
echo $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo "<br>".$_SERVER['SCRIPT_NAME'];
echo "<br>".$_SERVER['SCRIPT_FILENAME'];

客户端IP:$_SERVER['REMOTE_ADDR'];
服务器IP:gethostbyname('');

//本页地址,SCRIPT_NAME也可以:php/test.php
echo $_SERVER['PHP_SELF']."<br />";

//链接到当前页面的前一页面的 URL 地址:
echo $_SERVER['HTTP_REFERER']."<br />";

//其它的见参考手册:语言参考》变量》预定义变量
//前执行脚本的绝对路径名:D:Inetpubwwwrootphp est.php
echo $_SERVER["SCRIPT_FILENAME"]."<br />";

//正在浏览当前页面用户的 IP 地址:127.0.0.1
echo $_SERVER["REMOTE_ADDR"]."<br />";

//查询(query)的字符串(URL 中第一个问号 ? 之后的内容):id=1&bi=2
echo $_SERVER["QUERY_STRING"]."<br />";

//当前运行脚本所在的文档根目录:d:inetpubwwwroot
echo $_SERVER["DOCUMENT_ROOT"]."<br />";

遍历一个文件夹下的所有文件和子文件夹
function my_scandir($dir)
{
     $files = array();
     if ( $handle = opendir($dir) ) {
         while ( ($file = readdir($handle)) !== false ) {
             if ( $file != ".." && $file != "." ) {
                 if ( is_dir($dir . "/" . $file) ) {
                     $files[$file] = scandir($dir . "/" . $file);
                 }else {
                     $files[] = $file;
                 }
             }
         }
         closedir($handle);
         return $files;
     }
}


冒泡法排列:
 function BubbleSort(&$arr)
 {
     $cnt=count($arr);
     $flag=1;
     for($i=0;$i<$cnt;$i++)
      {
         if($flag==0)
          {
             return;
          }
         $flag=0;
         for($j=0;$j<$cnt-$i-1;$j++)
          {
             if($arr[$j]>$arr[$j+1])
              {
                 $tmp=$arr[$j];
                 $arr[$j]=$arr[$j+1];
                 $arr[$j+1]=$tmp;
                 $flag=1;
              }
          }
      }
 }
 $test=array(1,3,6,8,2,7);
 BubbleSort($test);
 var_dump($test);
 
截取中文字符串:
    function GBsubstr($string, $start, $length) {
    if(strlen($string)>$length){
             $str=null;
             $len=$start+$length;
             for($i=0;$i<$start;$i++){
                if(ord(substr($string,$i,1))>0xa0){
                         $i=$i+2;

                }
            }
             for($i=$i;$i<$len;$i++){
                if(ord(substr($string,$i,1))>0xa0){
                 $str.=substr($string,$i,2);
                 $i++;
                }else{
                 $str.=substr($string,$i,1);
                }
            }
           return $str.'...';
    }else{
           return $string;
   }
}

$test='我是中国人,我爱中国!';
echo  substr($test,5,11);
echo '<br>';
echo  GBsubstr($test,5,11);


$con = mysql_connect("localhost","root","root");
if (!$con)
{
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("my_db", $con);

CREATE DATABASE database_name;

$sql = "CREATE TABLE person (FirstName varchar(15),LastName varchar(15),Age int)";

mysql_query($sql,$con);

mysql_query("INSERT INTO person (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')");

mysql_query("SELECT * FROM person");

mysql_query("SELECT * FROM person WHERE FirstName='Peter'");

mysql_query("SELECT * FROM person ORDER BY age");

mysql_query("UPDATE Person SET Age = '36' WHERE FirstName = 'Peter' AND LastName = 'Griffin'");

mysql_query("DELETE FROM Person WHERE LastName='Griffin'");

mysql_close($con);


SOAP:简单对象访问协议

SOAP是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

?>

posted @ 2013-03-27 11:27  暗夜独游Jevil  阅读(262)  评论(0编辑  收藏  举报