当前位置:  编程技术>php
本页文章导读:
    ▪php中的观察者模式       观察者模式 代码如下: interface Subject { public function Attach($Observer); //添加观察者 public function Detach($Observer); //踢出观察者 public function Notify(); //满足条件时通知观察者 public function SubjectState($Sub.........
    ▪PHP 获取远程文件内容的函数代码       如下函数: 代码如下: <? /** 获取远程文件内容 @param $url 文件http地址 */ function fopen_url(/blog_article/$url/index.html) { if (function_exists('file_get_contents')) { $file_content = @file_get_contents($url); } elseif (ini_get('allow_url_fopen') &.........
    ▪PHP中基本符号及使用方法       注解符号: // 单行注解 /* */ 多行注解 引号的使用 ' ' 单引号,没有任何意义,不经任何处理直接拿过来; " "双引号,php动态处理然后输出,一般用于变量. 变量形态: 一种是True 即 真的; 另.........

[1]php中的观察者模式
    来源: 互联网  发布时间: 2013-11-30
观察者模式
代码如下:

interface Subject
{
public function Attach($Observer); //添加观察者
public function Detach($Observer); //踢出观察者
public function Notify(); //满足条件时通知观察者
public function SubjectState($Subject); //观察条件
}
class Boss Implements Subject
{
public $_action;
private $_Observer;
public function Attach($Observer)
{
$this->_Observer[] = $Observer;
}
public function Detach($Observer)
{
$ObserverKey = array_search($Observer, $this->_Observer);
if($ObserverKey !== false)
{
unset($this->_Observer[$ObserverKey]);
}
}
public function Notify()
{
foreach($this->_Observer as $value )
{
$value->Update();
}
}
public function SubjectState($Subject)
{
$this->_action = $Subject;
}
}
abstract class Observer
{
protected $_UserName;
protected $_Sub;
public function __construct($Name,$Sub)
{
$this->_UserName = $Name;
$this->_Sub = $Sub;
}
public abstract function Update(); //接收通过方法
}
class StockObserver extends Observer
{
public function __construct($name,$sub)
{
parent::__construct($name,$sub);
}
public function Update()
{
echo $this->_Sub->_action.$this->_UserName." 你赶快跑...";
}
}
$huhansan = new Boss(); //被观察者
$gongshil = new StockObserver("三毛",$huhansan); //初始化观察者
$huhansan->Attach($gongshil); //添加一个观察者
$huhansan->Attach($gongshil); //添加一个相同的观察者
$huhansan->Detach($gongshil); //踢出基中一个观察者
$huhansan->SubjectState("警察来了"); //达到满足的条件
$huhansan->Notify(); //通过所有有效的观察者

可以粗略的理解为,一个类(我们称之为被观察者),这个类继承了一个被观察者容器的借口
该接口中的方法有:添加观察者,踢出观察者,提醒观察者,和观察条件
添加观察者即相当于把一些类注册到这个容器之中,当然这些类的前提是需要有一个相应被观察者反应信息的方法,
被观察者容器通过接受不同的观察条件参数来判断是否需要提醒所有本容器中的已经注册过的观察者是否相应
一旦满足提醒条件,提醒容器内所有观察者让其调用相应方法并且实现对应观察者实例的变化
暂且理解到此!

    
[2]PHP 获取远程文件内容的函数代码
    来源: 互联网  发布时间: 2013-11-30
如下函数:
代码如下:

<?
/**
获取远程文件内容
@param $url 文件http地址
*/
function fopen_url(/blog_article/$url/index.html)
{
if (function_exists('file_get_contents')) {
$file_content = @file_get_contents($url);
} elseif (ini_get('allow_url_fopen') && ($file = @fopen($url, 'rb'))){
$i = 0;
while (!feof($file) && $i++ < 1000) {
$file_content .= strtolower(fread($file, 4096));
}
fclose($file);
} elseif (function_exists('curl_init')) {
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle, CURLOPT_FAILONERROR,1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Trackback Spam Check'); //引用垃圾邮件检查
$file_content = curl_exec($curl_handle);
curl_close($curl_handle);
} else {
$file_content = '';
}
return $file_content;
}
?>

相关解释:
1,ini_get : Returns the value of the configuration option as a string on success, or an empty string on failure(读取 php.ini 配置文件中的值)
2,; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On(配置文件中的内容)
3,fopen( "rb"): 在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。
注意: 为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 'b' 标记。
注意: 再一次,为移植性考虑,强烈建议你重写那些依赖于 't' 模式的代码使其使用正确的行结束符并改成 'b' 模式。
4,strtolower -- Make a string lowercase
5,curl_init() :curl_init -- Initialize a cURL session(初始化一个cUrl会话)
resource curl_init ( [string url] )
Initializes a new session and return a cURL handle for use with the curl_setopt(), curl_exec(), and curl_close() functions.
url--If provided, the CURLOPT_URL option will be set to its value. You can manually set this using the curl_setopt() function.
Returns a cURL handle on success, FALSE on errors.
6,curl_setopt -- Set an option for a cURL transfer(提供设置)
bool curl_setopt ( resource ch, int option, mixed value )
Sets an option on the given cURL session handle. (具体请看 PHP 手册) There:
CURLOPT_URL :The URL to fetch. You can also set this when initializing a session with curl_init().
CURLOPT_CONNECTTIMEOUT :The number of seconds to wait whilst trying to connect. Use 0 to wait indefinitely.(无限期等待 设置为 0)
CURLOPT_RETURNTRANSFER :TRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
CURLOPT_FAILONERROR :TRUE to fail silently if the HTTP code returned is greater than or equal to 400. The default behavior is to return the page normally, ignoring the code.
CURLOPT_USERAGENT :The contents of the "User-Agent: " header to be used in a HTTP request.
7,curl_exec : Perform a cURL session, This function should be called after you initialize a cURL session and all the options for the session are set.
如果成功则返回 TRUE,失败则返回 FALSE。 However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure
8,curl_close -- Close a cURL session

下面是一些参考代码:
PHP 采集程序 常用函数
PHP 采集获取指定网址的内容

    
[3]PHP中基本符号及使用方法
    来源: 互联网  发布时间: 2013-11-30

注解符号:

// 单行注解
/* */ 多行注解

引号的使用

' ' 单引号,没有任何意义,不经任何处理直接拿过来;
" "双引号,php动态处理然后输出,一般用于变量.

变量形态:

一种是True 即 真的;
另一种是False 即假的

常见变量形态:

string 字串(数字\汉字\等等)
integer 整数(1、2、3、4、5、0、-1、-2、等等)
double 浮点数(小数点)
array 数组
object 对象

可以用的方法有gettype($mix) 和settype($mix,$typename);

常用符号

\" 双引号
\\ 反斜线
\n 换行
\r 送出
\t 跳位(TAB)

运算符号

+ 加法运算 - 减法运算
* 乘法运算 / 除法运算
% 取余数 ++ 累加
-- 累减1 . 把字串相加

设定运算

= 把右边的值代入左边(一定要会)
+= 把右边的值加到左边
-= 把右边的值减到左边
*= 把左边的值乘以右边
/= 把左边的值除以右边
.= 把右边的字串加到左边

位员运算

& 且
| 或
^ 互斥(xor)
<< 向左移位
>> 向右移位
~ 取1的补数

逻辑运算

< 小于 > 大于
<= 小于等于 >= 大于等于
!= 不等于 && 而且
|| 或者 ! 不

其他运算符号

$ 变量符号
& 变量的指标(加在变量前)
@ 不显示错误信息(加在函数前)
-> 对象的方法或者属性
=> 数组的元素值
? : 三元运算子

基本方法

1.PHP转换字符串为大小写!

strtolower(); 把字符转小写
strtoupper(); 把字符转大写

2.PHP加密字符串(大小写均可)

md5();加密
sha1();加密

3.关于引号

一、单引号是原样输出

二、双引号是内容解释进行输出

三、反单引号是执行一个命令,如`pwd`。

四、“\”作用于转译字符,如“\n”为换行!

4.函数:htmlspecialchars()

本函数将特殊字符转成 HTML 的字符串格式 ( &....; )。最常用到的场合可能就是处理客户留言的留言版了。

& (和) 转成 &
" (双引号) 转成 "
< (小于) 转成 <
> (大于) 转成 >

此函数只转换上面的特殊字符,并不会全部转换成 HTML 所定的 ASCII 转换。

5.批量输出HTML内容!

echo <<< EOT
HTML输出内容。。。//这里注释照样输出!
EOT;

Print <<<EOT
HTML输出内容。。。//这里注释照样输出!
EOT;

(注意:内部包含变量用“{变量}”)

6.判断文件是否存在并且输出内容

<?php
$FileName="File.TXT";
if (File_Exists($FileName)){
Echo "<xmp>".File_Get_Contents($FileName)."</xmp>";
}else
{
Echo"no";
}
?>

7.卸载变量unset;

unset($var);
unset($var,$var1);

8.is_int;

检测变量是否是整数;

9.is_null;

检测变量是否为 NULL ;

10.is_string

检测变量是否是字符串

11.is_real;

is_float() 的别名

12.isset

检测变量是否设置

13.is_bool

检测变量是否是布尔型

14.is_array

检测变量是否是数组

15.is_object

检测变量是否是一个对象

16.SubStr.

SUBSTR(String,Start,SelectNum)
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f

17.Nb2br

echo nl2br("foo isn't\n bar");

把转义的换行变成 HTML的<BR />


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php字符串函数的简单示例代码 iis7站长之家
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3