Skip to content

Instantly share code, notes, and snippets.

View suziewong's full-sized avatar
🍵
DeepWork

YangFei Zheng suziewong

🍵
DeepWork
View GitHub Profile
@suziewong
suziewong / real_server_ip.php
Last active December 9, 2015 19:28
获得用户的真实IP地址
<?php
/**
* 获取服务器的ip
* @access public
* @return string
**/
function real_server_ip(){
static $serverip = NULL;
if ($serverip !== NULL){
@suziewong
suziewong / object_to_array
Created December 17, 2012 07:47
PHP对象转成数组的函数
/**
* 对象转数组
* @author 佚名
* @param object $obj
* @return array
*/
function object_to_array($obj){
$_arr = is_object($obj) ? get_object_vars($obj) : $obj;
foreach ($_arr as $key => $val){
$val = (is_array($val) || is_object($val)) ? $this->object_to_array($val) : $val;
@suziewong
suziewong / strlen_mb_strlen.md
Created December 19, 2012 04:07
strlen()与mb_strlen()的作用分别是什么 ?

int strlen ( string $string )

返回给定的字符串 string 的长度。

int mb_strlen ( string $str [, string $encoding ] )

同上,但是可以设置字符编码

encoding参数为字符编码。如果省略,则使用内部字符编码。 具体情况:

<?php  
//测试时文件的编码方式要是UTF8  

$str='中文a字1符';  

@suziewong
suziewong / dz_session.php
Created December 20, 2012 08:45
DZX2.5 在线时长的bug 听说多个浏览器多开产生的 http://bbs.zjut.com/misc.php?mod=ranklist&type=member&view=onlinetime
<?
////dz_session.php
///174 行
public static function updatesession() {
static $updated = false;
if(!$updated) {
global $_G;
/* $ulastactivity = authcode($_G['cookie']['ulastactivity'], 'DECODE');
var_dump($ulastactivity);
exit;*/
@suziewong
suziewong / string.md
Last active December 10, 2015 02:29
下列哪个函数是用正则表达式将字符串分割到数组中() A、Split B、implode C、explode D、join 答案:A
把数组变成串:
string implode ( string $glue , array $pieces ) 与 string join ( string $glue , array $pieces )  只是名字不同,是别名而已.
把串变成数组:
array split ( string $pattern , string $string [, int $limit ] )
$pattern: 是正则表达式,如'\|' ,[/.-] 等. 
$string:    目标串
$limit:      返回的数组最多包含 limit 个单元,而其中最后一个单元包含了 string 中剩余的所有部分。负数无效
@suziewong
suziewong / Smarty.md
Last active December 10, 2015 02:28
Smarty模板的特点

Smarty

smarty是一个基于PHP开发的PHP模板引擎。它提供了逻辑与外在内容的分离,简单的讲,目的就是要使 用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中 显的尤为重要。

OSchina Smarty

Smarty模板特点

PHPChina Smarty的看法

@suziewong
suziewong / global.md
Created December 24, 2012 09:13
预定义全局变量的作用

$_SERVER['DOCUMENT_ROOT'] 当前运行脚本所在的文档根目录。在服务器配置文件中定义。

$_SERVER['HTTP_HOST '] 当前请求的 Host: 头部的内容

$_SERVER['REMOTE_ADDR'] 正在浏览当前页面用户的 IP 地址

$_SERVER['HTTP_REFERER']

@suziewong
suziewong / include_require.md
Created December 25, 2012 04:31
include和require 的区别?Include和include_once又有什么区别? 面试必考题

php提供了两种包含外部文件的方法:include()和require()。include()语句是一个常规的php函数;而require() 是一种特殊的语言结构,它的使用受到一些限制。对这两者来说,不管使用哪个语句来包含文件,解析程序都将退出php模式并在目标文件的开头进入HTML模 式。这意味着目标文件中的所有应该作为php脚本执行的代码都必须被包含在有效的php起始标记和终止标记中。 在同一脚本中,每次出现include()函数,它都会被执行,它甚至有可能被包含在循环或条件语句中。这意味着通过使用条件判断是否包含一个文件,它还可以使用循环结构包含一组文件。include()语句对文件的处理将终止。 require()语句与include()语句是不同的,它不能受任何控制结构的控制。这说明使用require()不能有条件的包含文件。如果这个 语句出现在循环中,或者位于取值为假的条件语句中,它也都会执行,并且只执行一次。另一个区别是,使用require()语句包含的文件不能有返回值。试 图在require()语句中返回值将会产生一个解析错误。

=============================================================================

include()和require()的区别 这相信是PHP中最基本的问题了,也是很多公司面试时必考的题呵呵。 给大家复习一下: require() :如果文件不存在,会报出一个fatal error.脚本停止执行 include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行

@suziewong
suziewong / port.md
Created December 25, 2012 04:36
下列服务的用途和默认端口

ftp 21

ssh 22

http 80

telnet 23

https 443

@suziewong
suziewong / 1.php
Last active July 10, 2017 06:37
public、protected、private三种访问控制模式的区别? 1.PHP
<?
class a{
protected $c;
public function a(){
$this ->c=10;
}
}
class b extends a
{
public function print_data(){