笔记之SubVersion
一、获取与安装
SubVersion(以下简称SVN)是一款开源的版本控制系统,与著名的CVS类似,并大有取代之势,当前版本1.4.3,可以从http://subversion.tigris.org/project_packages.html下载。我下载的是Windows版,下载文件svn-1.4.3-setup.exe后,双击,按照提示进行安装。安装时,安装程序会自动将环境配置好。
二、常用操作
创建SVN版本库的命令:
svnadmin create e:\svn
SVN会在e:\svn文件夹下创建一个版本库,版本库用来保存提交到SVN中的文件,并记录相应版本信息。如果e:\svn文件夹没有创建,SVN会自动创建。
阅读全文
一、获取与安装
SubVersion(以下简称SVN)是一款开源的版本控制系统,与著名的CVS类似,并大有取代之势,当前版本1.4.3,可以从http://subversion.tigris.org/project_packages.html下载。我下载的是Windows版,下载文件svn-1.4.3-setup.exe后,双击,按照提示进行安装。安装时,安装程序会自动将环境配置好。
二、常用操作
创建SVN版本库的命令:
svnadmin create e:\svn
SVN会在e:\svn文件夹下创建一个版本库,版本库用来保存提交到SVN中的文件,并记录相应版本信息。如果e:\svn文件夹没有创建,SVN会自动创建。
阅读全文
http://tech.163.com/mobile/07/0531/13/3FQVA6KD001117A5.html
转自:http://blog.chinaunix.net/u1/51625/showart_406076.html
<?php
/*
//静态属性或静态方法不需要所在类被实例化就可以使用
//使用方法:类名::静态方法名(静态属性名)
//例子:static.php
*/
class Math
{
public static $PI=3.14; //定义静态属性
//public $PI=3.14; //静态方法不能调用非静态的属性
//定义一个静态方法,求两个数中的最大值
public static function getMax($num1,$num2){ //static 关键字
return $num1 > $num2 ? $num1 : $num2;
}
//定义一个静态方法,求圆面积
public static function getCircleArea($radius){
//return Math::$PI * $radius * $radius;//也行
return self::$PI * $radius * $radius;//建议
//用self::调用当前类中的静态属性
}
// 求三个数中的最大值,用self::调用当前类中其它静态方法
public static function getMax3($num1,$num2,$num3){
$num1 = self::getMax($num1,$num2);
$num2 = self::getMax($num2,$num3);
$num1 = self::getMax($num1,$num2);
//或$num1 = Math::getMax($num1,$num2);
return $num1;
}
}
//-----------------------------------------------------------
$a=1;
$b=2;
echo "最大值:";
echo Math::getMax($a,$b);//注意使用方法, 类名::静态方法名
echo "<br>";
//-----------------------------------------------------------
$r=2;
echo "半径为{$r}的圆的面积为".Math::getCircleArea($r);
echo "<br>";
//------------------------------------------------------------
$a=1;$b=2;$c=3;
echo "{$a},{$b},{$c}三个数中的最大值是" .Math::getMax3($a,$b,$c);
?>
<?php
/*
//静态属性或静态方法不需要所在类被实例化就可以使用
//使用方法:类名::静态方法名(静态属性名)
//例子:static.php
*/
class Math
{
public static $PI=3.14; //定义静态属性
//public $PI=3.14; //静态方法不能调用非静态的属性
//定义一个静态方法,求两个数中的最大值
public static function getMax($num1,$num2){ //static 关键字
return $num1 > $num2 ? $num1 : $num2;
}
//定义一个静态方法,求圆面积
public static function getCircleArea($radius){
//return Math::$PI * $radius * $radius;//也行
return self::$PI * $radius * $radius;//建议
//用self::调用当前类中的静态属性
}
// 求三个数中的最大值,用self::调用当前类中其它静态方法
public static function getMax3($num1,$num2,$num3){
$num1 = self::getMax($num1,$num2);
$num2 = self::getMax($num2,$num3);
$num1 = self::getMax($num1,$num2);
//或$num1 = Math::getMax($num1,$num2);
return $num1;
}
}
//-----------------------------------------------------------
$a=1;
$b=2;
echo "最大值:";
echo Math::getMax($a,$b);//注意使用方法, 类名::静态方法名
echo "<br>";
//-----------------------------------------------------------
$r=2;
echo "半径为{$r}的圆的面积为".Math::getCircleArea($r);
echo "<br>";
//------------------------------------------------------------
$a=1;$b=2;$c=3;
echo "{$a},{$b},{$c}三个数中的最大值是" .Math::getMax3($a,$b,$c);
?>
信息产业部 科学技术司 技术基础处主任科员及以下 详细信息
部门名称 信息产业部
用人司局 科学技术司
职位名称 技术基础处主任科员及以下
职位简介 信息产业领域知识产权创造、保护、利用和管理工作;电子信息产品标准化管理及对口的ISO/IEC国际标准化业务和WTO/TBT有关的标准化管理
职位代码 04003001
考试类别 省级以上(含副省级)综合管理类
招考人数 2
专业 电子信息相关专业
学历 本科及以上
政治面貌 不限
具有基层工作经历的最低年限 四年
是否组织专业考试 否
面试人选与计划录用人数的确定比例 5:1
其他 具有较强的英语听说读写能力
http://exam.edu.sina.com.cn/official08/detail.php?id=560
2009年备考北京市公务员考试用什么辅导书好?
辅导书嘛,市面上的资料太多了,个人认为还是人民日报出版社李永新的(行政),至于申论,我认为还是用华图的好一些。现在的公务员书太杂了。而且有些书的内容确实不敢恭维,我本人也用过不少书,不能说李永新的书就是多么多么好,但是我个人认为还是市面上比较过得去的吧。
顺便补充一下,楼主可以去QZZN论坛,那里面有很多高手的,我当时备考的时候就是在那里混的。而且有很多的各省真题/楼主一定要做真题,把历年各省的真题和国考的真题,都做一做,有好处的~!
内蒙区气象局 赤峰市气象局 业务管理科业务管理 承担全市气象测报业务管理工作 1003004002 市(地)以下综合管理类和行政执法类 1 气象类、电子信息科学与技术、通信工程、计算机科学与技术、物理学、数学、生态学 本科及以上 学士 不限 无限制 否 3:1 计算机科学与技术、物理学、数学、生态学专业者需在气象测报业务岗位工作两年以上
部门名称 信息产业部
用人司局 科学技术司
职位名称 技术基础处主任科员及以下
职位简介 信息产业领域知识产权创造、保护、利用和管理工作;电子信息产品标准化管理及对口的ISO/IEC国际标准化业务和WTO/TBT有关的标准化管理
职位代码 04003001
考试类别 省级以上(含副省级)综合管理类
招考人数 2
专业 电子信息相关专业
学历 本科及以上
政治面貌 不限
具有基层工作经历的最低年限 四年
是否组织专业考试 否
面试人选与计划录用人数的确定比例 5:1
其他 具有较强的英语听说读写能力
http://exam.edu.sina.com.cn/official08/detail.php?id=560
2009年备考北京市公务员考试用什么辅导书好?
辅导书嘛,市面上的资料太多了,个人认为还是人民日报出版社李永新的(行政),至于申论,我认为还是用华图的好一些。现在的公务员书太杂了。而且有些书的内容确实不敢恭维,我本人也用过不少书,不能说李永新的书就是多么多么好,但是我个人认为还是市面上比较过得去的吧。
顺便补充一下,楼主可以去QZZN论坛,那里面有很多高手的,我当时备考的时候就是在那里混的。而且有很多的各省真题/楼主一定要做真题,把历年各省的真题和国考的真题,都做一做,有好处的~!
内蒙区气象局 赤峰市气象局 业务管理科业务管理 承担全市气象测报业务管理工作 1003004002 市(地)以下综合管理类和行政执法类 1 气象类、电子信息科学与技术、通信工程、计算机科学与技术、物理学、数学、生态学 本科及以上 学士 不限 无限制 否 3:1 计算机科学与技术、物理学、数学、生态学专业者需在气象测报业务岗位工作两年以上
本公司mysql数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码.
MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码.
如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码.
PHP页面字符集不正确.
PHP连接MYSQL数据库语句指定的编码不正确.
注意:
很多人都怀疑mysql版本不一致会导致乱码,相信看了本说明你就不会这样认为了.平时你在某些网站看到的文字可能有几种编码, 如你看到一个繁体字,它有可能是big5编码,也有 可能是utf-8编码的,更有可能是gb码的,没错,也就是说有简体编码的繁体字,也有繁体编码的简体字,一定要了解这一点.
如果你是做一个简体编码的网页,编码定为GB2312,如果有香港和台湾地区的访客提交繁体的信息,就可能会造成乱码,解决方法:
将网站编码设为 utf-8,这样可以兼容世界上所有字符,如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为 GBK, GBK与GB2312的区别就在于:GBK能比GB2312显示更多的字符,要显示简体码的繁体字,就只能用GBK.
使用mysql+php产生乱码的原因都了解得很清楚了,那么解决就不困难了. 阅读全文
MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码.
如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码.
PHP页面字符集不正确.
PHP连接MYSQL数据库语句指定的编码不正确.
注意:
很多人都怀疑mysql版本不一致会导致乱码,相信看了本说明你就不会这样认为了.平时你在某些网站看到的文字可能有几种编码, 如你看到一个繁体字,它有可能是big5编码,也有 可能是utf-8编码的,更有可能是gb码的,没错,也就是说有简体编码的繁体字,也有繁体编码的简体字,一定要了解这一点.
如果你是做一个简体编码的网页,编码定为GB2312,如果有香港和台湾地区的访客提交繁体的信息,就可能会造成乱码,解决方法:
将网站编码设为 utf-8,这样可以兼容世界上所有字符,如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为 GBK, GBK与GB2312的区别就在于:GBK能比GB2312显示更多的字符,要显示简体码的繁体字,就只能用GBK.
使用mysql+php产生乱码的原因都了解得很清楚了,那么解决就不困难了. 阅读全文
function getFriendList($uid) {
$str_url = DEF_INTERFACE_FRIEND_LIST . '?cuid=' . $uid . '&uid=' . $uid . '&pagesize=1000' . '&info=0';
$ch_curl = curl_init ();
curl_setopt ( $ch_curl, CURLOPT_TIMEOUT, 3 );
curl_setopt ( $ch_curl, CURLOPT_HEADER, false );
curl_setopt ( $ch_curl, CURLOPT_HTTPGET, 1 );
curl_setopt ( $ch_curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $ch_curl, CURLOPT_URL, $str_url );
$str_return = curl_exec ( $ch_curl );
if ($str_return === false)
return false;
curl_close ( $ch_curl );
$arr_return = json_decode ( $str_return, true );
return $arr_return;
}
curl_setopt函数相关参数介绍阅读全文
$str_url = DEF_INTERFACE_FRIEND_LIST . '?cuid=' . $uid . '&uid=' . $uid . '&pagesize=1000' . '&info=0';
$ch_curl = curl_init ();
curl_setopt ( $ch_curl, CURLOPT_TIMEOUT, 3 );
curl_setopt ( $ch_curl, CURLOPT_HEADER, false );
curl_setopt ( $ch_curl, CURLOPT_HTTPGET, 1 );
curl_setopt ( $ch_curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $ch_curl, CURLOPT_URL, $str_url );
$str_return = curl_exec ( $ch_curl );
if ($str_return === false)
return false;
curl_close ( $ch_curl );
$arr_return = json_decode ( $str_return, true );
return $arr_return;
}
curl_setopt函数相关参数介绍阅读全文
你还可以参考:http://www.ibm.com/developerworks/cn/opensource/os-php-smarty/
smarty函数库
什么是smarty及其安装
Smarty是一个php模板引擎,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.
Smarty要求web服务器运行php4.0.6和以上版本.
smarty安装需要smarty库文件。可以去官方网站[url]http://smarty.php.net[/url]下载。我下的是2.6.7版本的。
网上讲了很多安装的教程,但是我都没有成功,所以直接把整个目录名改为smarty直接复制到了网站所在的目录下,然后打开
http://网站路径/smarty/demo/index.php,显示正常,应该算是安装成功了。
基本语法
所有的smarty标签都被加上了定界符.在smarty里,所有定界符以外的内容都是静态的,当smarty遇到了模板标签,将尝试解释他们,然后再以恰当的方式输出.阅读全文
smarty函数库
什么是smarty及其安装
Smarty是一个php模板引擎,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.
Smarty要求web服务器运行php4.0.6和以上版本.
smarty安装需要smarty库文件。可以去官方网站[url]http://smarty.php.net[/url]下载。我下的是2.6.7版本的。
网上讲了很多安装的教程,但是我都没有成功,所以直接把整个目录名改为smarty直接复制到了网站所在的目录下,然后打开
http://网站路径/smarty/demo/index.php,显示正常,应该算是安装成功了。
基本语法
所有的smarty标签都被加上了定界符.在smarty里,所有定界符以外的内容都是静态的,当smarty遇到了模板标签,将尝试解释他们,然后再以恰当的方式输出.阅读全文
2007-08-09 10:06 刚找到LITERAL的一点东西跟大家分享一下:
Literal 标签区域内的数据将被当作文本处理,此时模板将忽略其内部的所有字符信息. 该特性用于显示有可能包含大括号等字符信息的 javascript 脚本. 当这些信息处于 {literal}{/literal} 标签中时,模板引擎将不分析它们,而直接显示.
例子:
php
php tags allow php to be embedded directly into the template. They will not be escaped, regardless of the $php_handling setting. This is for advanced users only, not normally needed.
php 标签允许在模板中直接嵌入 php 脚本. 是否处理这些语句取决于$php_handling的设置. 该语句通常不需要使用,当然如果你非常了解此特性或认为必须要用,也可以使用.
php 标签演示
这和定义的解散解析标签也有管,如:<{ }> ,得这样:
<p class="m30">
{if $$mytest[loop].ts|@count != 0}
参与过的好友:
{foreach from=$mytest[loop].ts item=ts}
<a href="?action=friendtest&uid={$ts.0}">{$ts.1}</a>
{/foreach}
{/if}
</p>
<p>
{if $mytest[loop].ta|@count != 0}
和我结果一样的好友:{foreach item=ta from=$mytest[loop].ta}
<a href="?action=friendtest&uid={$ta.0}">{$ta.1}</a>
{/foreach}
{/if}
</p>
{if $$mytest[loop].ts|@count != 0}
参与过的好友:
{foreach from=$mytest[loop].ts item=ts}
<a href="?action=friendtest&uid={$ts.0}">{$ts.1}</a>
{/foreach}
{/if}
</p>
<p>
{if $mytest[loop].ta|@count != 0}
和我结果一样的好友:{foreach item=ta from=$mytest[loop].ta}
<a href="?action=friendtest&uid={$ta.0}">{$ta.1}</a>
{/foreach}
{/if}
</p>
背景:有时在上线时出现只需要导出线下包含某个部分的数据,和线上对接上即可,这儿可以用awk实现,当然是用mysqldump直接来实现来得快,但是要是真没有办法还得用脚本来实现,参看:http://jackxiang.com/post/2364/
一)mysqldump 可以导出where条件的sql出来,再source进去(-d -t是有区别的:-d:只是data建表结构,-t:table数据):
mysqldump -d newbbs > newbbs_table_structure_export_2018_06_14.sql #只导出结构样例实践
实践情况如下:
Q1:
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.
Q2:
mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line 1 (1064)
——————
下面解决方法来源于网络,针对我的版本是mysql5.6,问题解决:
最后找到解决办法、用新安装的mysql绝对路径来实现备份。
参考:http://blog.sina.com.cn/s/blog_692778030101mycz.html
二)selected into可以有格式也有部分字段导出像:"",""...这样的,再通过load data infile 导入。
导出部分且有条件的SQL:
阅读全文
一)mysqldump 可以导出where条件的sql出来,再source进去(-d -t是有区别的:-d:只是data建表结构,-t:table数据):
mysqldump -d newbbs > newbbs_table_structure_export_2018_06_14.sql #只导出结构样例实践
实践情况如下:
Q1:
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.
Q2:
mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line 1 (1064)
——————
下面解决方法来源于网络,针对我的版本是mysql5.6,问题解决:
最后找到解决办法、用新安装的mysql绝对路径来实现备份。
参考:http://blog.sina.com.cn/s/blog_692778030101mycz.html
二)selected into可以有格式也有部分字段导出像:"",""...这样的,再通过load data infile 导入。
导出部分且有条件的SQL:
阅读全文
php 通过error_reporting(0);关闭错误提示!
error_reporting(E_ALL); //显示所有的错误讯息
error_reporting(E_ALL&~E_NOTICE) 这是什么意思,表示提示除去 E_NOTICE 之外的所有错误信息
error_reporting(0);//关闭全部!
你把php.ini中error_reporting这个参数设置为error_reporting=E_ERROR
只样就只会报告致命性错误了。
error_reporting可以设置的参数如下:
; 错误报告是位字段。可以将数字加起来得到想要的错误报告等级。
; E_ALL - 所有的错误和警告(不包括 E_STRICT)
; E_ERROR - 致命性的运行时错误
; E_WARNING - 运行时警告(非致命性错误)
; E_PARSE - 编译时解析错误
; E_NOTICE - 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
; E_STRICT - 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
; E_CORE_ERROR - PHP启动时初始化过程中的致命错误
; E_CORE_WARNING - PHP启动时初始化过程中的警告(非致命性错)
; E_COMPILE_ERROR - 编译时致命性错
; E_COMPILE_WARNING - 编译时警告(非致命性错)
; E_USER_ERROR - 用户自定义的错误消息
; E_USER_WARNING - 用户自定义的警告消息
; E_USER_NOTICE - 用户自定义的提醒消息
; 例子:
;error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示错误
---------------------------------------------------------------------------------------------------------------------
使用error_reporting(0);关闭错误成功或失败的例子:
关闭php提示错误功能
在php.ini 中把display_errors改成
display_errors = OFF
或在php文件前加入
error_reporting(0)
1)使用error_reporting(0);失败的例子:
A文件代码:
<?
error_reporting(0);
echo 555
echo 444;
?>
错误:
Parse error: parse error, expecting `','' or `';'' in E:\webphp\2.php on line 4
2)使用error_reporting(0);成功的例子:
a文件代码:
<?php
error_reporting(0);
include("b.php");
?>
b文件代码:
<?php
echo 555
echo 444;
?>
这是很多phper说用error_reporting(0)不起作用。第一个例子A.php里面有致命错误,导致不能执行,不能执行服务器则不知有这个功能,所以一样报错。
第二个例子中a.php成功执行,那么服务器知道有抑制错误功能,所以就算b.php有错误也抑制了。
ps:抑制不了mysql错误。
From:http://blog.csdn.net/heiyeshuwu/article/details/8024567
error_reporting(E_ALL); //显示所有的错误讯息
error_reporting(E_ALL&~E_NOTICE) 这是什么意思,表示提示除去 E_NOTICE 之外的所有错误信息
error_reporting(0);//关闭全部!
你把php.ini中error_reporting这个参数设置为error_reporting=E_ERROR
只样就只会报告致命性错误了。
error_reporting可以设置的参数如下:
; 错误报告是位字段。可以将数字加起来得到想要的错误报告等级。
; E_ALL - 所有的错误和警告(不包括 E_STRICT)
; E_ERROR - 致命性的运行时错误
; E_WARNING - 运行时警告(非致命性错误)
; E_PARSE - 编译时解析错误
; E_NOTICE - 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
; E_STRICT - 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
; E_CORE_ERROR - PHP启动时初始化过程中的致命错误
; E_CORE_WARNING - PHP启动时初始化过程中的警告(非致命性错)
; E_COMPILE_ERROR - 编译时致命性错
; E_COMPILE_WARNING - 编译时警告(非致命性错)
; E_USER_ERROR - 用户自定义的错误消息
; E_USER_WARNING - 用户自定义的警告消息
; E_USER_NOTICE - 用户自定义的提醒消息
; 例子:
;error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示错误
---------------------------------------------------------------------------------------------------------------------
使用error_reporting(0);关闭错误成功或失败的例子:
关闭php提示错误功能
在php.ini 中把display_errors改成
display_errors = OFF
或在php文件前加入
error_reporting(0)
1)使用error_reporting(0);失败的例子:
A文件代码:
<?
error_reporting(0);
echo 555
echo 444;
?>
错误:
Parse error: parse error, expecting `','' or `';'' in E:\webphp\2.php on line 4
2)使用error_reporting(0);成功的例子:
a文件代码:
<?php
error_reporting(0);
include("b.php");
?>
b文件代码:
<?php
echo 555
echo 444;
?>
这是很多phper说用error_reporting(0)不起作用。第一个例子A.php里面有致命错误,导致不能执行,不能执行服务器则不知有这个功能,所以一样报错。
第二个例子中a.php成功执行,那么服务器知道有抑制错误功能,所以就算b.php有错误也抑制了。
ps:抑制不了mysql错误。
From:http://blog.csdn.net/heiyeshuwu/article/details/8024567
在写Php上传时,nginx上传模块nginx_upload_module时把文件移到自己想要的目录会用到:http://jackxiang.com/post/6221/
但后来根本不用这个,
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2013-04-09:
Rango-韩天峰(3507499**) 17:40:30
现在PHP5.3提供了__DIR__常量了,以前还要写 dirname(__FILE__)
回忆未来-向东-Jàck(3726476**) 17:42:11
我是想获取一个变量里的dir,rango说的能使。?
Rango-韩天峰(3507499**) 17:42:22
能啊
这个只是字符串分析的函数,不会去读文件系统
我们知道PHP中提供了一个魔术常量(magic constant)__FILE__,用来指向当前执行的PHP脚本。但PHP没有直接提供该脚本所在目录的常量。也就是说如果我们要得到当前PHP脚本所在的目录,需要使用dirname()这个函数:
<?php
$dir = dirname(__FILE__);
?>
在PHP5.3中,增加了一个新的常量__DIR__,指向当前执行的PHP脚本所在的目录。
例如当前执行的PHP文件为 /www/website/index.php
则__FILE__等于'/www/website/index.php'
而__DIR__等于'/www/website'
现在我们要包含当前文件目录或子目录下的文件,可以直接使用:
<?php
require_once __DIR__ . '/path/to/test.inc.php';
?>
http://www.phpeye.com/article/view/id/149/
例子 1
<?php
print_r(pathinfo("/testweb/test.txt"));
?>
输出:
Array
(
[dirname] => /testweb
[basename] => test.txt
[extension] => txt
)
例子 2
<?php
print_r(pathinfo("/testweb/test.txt",PATHINFO_BASENAME));
?>
输出:
test.txt
在实际的运用中是这样的:
调试PHP输出:
Array
(
[dirname] => /upload/video/user
[basename] => .20130410223139569564.JPG
[extension] => JPG
[filename] => .20130410223139569564
)
jpg
输出完成 (耗时 0 秒) - 正常终止
———————————————————————————————————————————————————
再次使用的方法备案(找到以xx.php.mine结果的文件并且删除掉: rm -Rf /xxx/xx.*)Add By:2014-01-03:
<?php
for($i=1;$i<=5;$i++)
{
$array_test_all = array("0"=>"test_array","1"=>"test_all");
$arr_test[] = $array_test_all;
}
print_r($arr_test);
echo "________________________________________________________\n";
foreach($arr_test as $key=> $values)
{
$arr_test[$key]['ts'][]="111";
}
print_r($arr_test);
?>
Array
(
[0] => Array
(
[0] => test_array
[1] => test_all
)
[1] => Array
(
[0] => test_array
[1] => test_all
)
[2] => Array
(
[0] => test_array
[1] => test_all
)
[3] => Array
(
[0] => test_array
[1] => test_all
)
[4] => Array
(
[0] => test_array
[1] => test_all
)
)
________________________________________________________
Array
(
[0] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
[1] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
[2] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
[3] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
[4] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
)
for($i=1;$i<=5;$i++)
{
$array_test_all = array("0"=>"test_array","1"=>"test_all");
$arr_test[] = $array_test_all;
}
print_r($arr_test);
echo "________________________________________________________\n";
foreach($arr_test as $key=> $values)
{
$arr_test[$key]['ts'][]="111";
}
print_r($arr_test);
?>
Array
(
[0] => Array
(
[0] => test_array
[1] => test_all
)
[1] => Array
(
[0] => test_array
[1] => test_all
)
[2] => Array
(
[0] => test_array
[1] => test_all
)
[3] => Array
(
[0] => test_array
[1] => test_all
)
[4] => Array
(
[0] => test_array
[1] => test_all
)
)
________________________________________________________
Array
(
[0] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
[1] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
[2] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
[3] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
[4] => Array
(
[0] => test_array
[1] => test_all
[ts] => Array
(
[0] => 111
)
)
)
$uid='1';
$my_test=new TestResult($uid,1,$page,$testlist,10,"SLAVE");
if(!$my_test)
{
echo "数据库连接有问题!";
}
print_r($testlist);
foreach ($testlist as $values)
{
$ts_id[]=$values['ts_id'];
}
$ts_id_list = implode(",", $ts_id);//用,好连起来
$obj_friend_test = new friend_test();
$arr_friend_list = $obj_friend_test ->getFriendList($uid , $ts_id_list);
foreach ($testlist as $key=> $values)
{
$str_ts_id=$values['ts_id'];
$arr_ts_one = $arr_friend_list['ts'][$str_ts_id];
$All[$key][]=$values;
$All[$key][]=$arr_ts_one;
$str_ta_key=$values['ts_id']."-".$values['ta_id'];
$arr_ta_one = $arr_friend_list['ta'][$str_ta_key];
$All[$key][]=$arr_ta_one;
}
$my_test=new TestResult($uid,1,$page,$testlist,10,"SLAVE");
if(!$my_test)
{
echo "数据库连接有问题!";
}
print_r($testlist);
foreach ($testlist as $values)
{
$ts_id[]=$values['ts_id'];
}
$ts_id_list = implode(",", $ts_id);//用,好连起来
$obj_friend_test = new friend_test();
$arr_friend_list = $obj_friend_test ->getFriendList($uid , $ts_id_list);
foreach ($testlist as $key=> $values)
{
$str_ts_id=$values['ts_id'];
$arr_ts_one = $arr_friend_list['ts'][$str_ts_id];
$All[$key][]=$values;
$All[$key][]=$arr_ts_one;
$str_ta_key=$values['ts_id']."-".$values['ta_id'];
$arr_ta_one = $arr_friend_list['ta'][$str_ta_key];
$All[$key][]=$arr_ta_one;
}
在前台页面里面,从数据库中选择出来的数据表中文项目,有的是正确的编码显示,有的是错误的乱码,分析后知道,原因可能有3种:
1. mysql_server 的语言环境应该为zh_CN.GBK ,同时数据库的环境变量中要把各个数据库中的字符集设定为utf8;
2. 页面前台输出需要转码
3. 运行客户端的时候,没有设定utf8编码就把数据库表建立,使得数据库表中本身插入的就是乱码
我遇到的起初认为是1;最后发现是3
错误的原因:
正确的解决方法:
解决utf8字符集的问题
mysql -h127.0.0.1 -P3336 -uroot < initTables.sql
mysql -h127.0.0.1 -P3336 -uroot < initMacro.sql
mysql -h127.0.0.1 -P3336 -uroot < initUsers.sql
mysql -h127.0.0.1 -P3336 -uroot < initRoles.sql
mysql -h127.0.0.1 -P3336 -uroot
这样插入的表,本身就是乱码,显示到前台,当然也是乱码了
解决utf8字符集的问题
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initTables.sql
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initMacro.sql
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initUsers.sql
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initRoles.sql
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot
首先应该在建表的时候指定该表是utf-8结构的,然后再进行设置char类型的。
当然你设定为binary的数据格式,不设置utf-8表结构也可以,但是在firefox会出现???你得用php的trim("")去掉???!!mysql5.X
1. mysql_server 的语言环境应该为zh_CN.GBK ,同时数据库的环境变量中要把各个数据库中的字符集设定为utf8;
2. 页面前台输出需要转码
3. 运行客户端的时候,没有设定utf8编码就把数据库表建立,使得数据库表中本身插入的就是乱码
我遇到的起初认为是1;最后发现是3
错误的原因:
正确的解决方法:
解决utf8字符集的问题
mysql -h127.0.0.1 -P3336 -uroot < initTables.sql
mysql -h127.0.0.1 -P3336 -uroot < initMacro.sql
mysql -h127.0.0.1 -P3336 -uroot < initUsers.sql
mysql -h127.0.0.1 -P3336 -uroot < initRoles.sql
mysql -h127.0.0.1 -P3336 -uroot
这样插入的表,本身就是乱码,显示到前台,当然也是乱码了
解决utf8字符集的问题
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initTables.sql
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initMacro.sql
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initUsers.sql
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initRoles.sql
[aimm@aixuning MySQL]$ mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot
首先应该在建表的时候指定该表是utf-8结构的,然后再进行设置char类型的。
当然你设定为binary的数据格式,不设置utf-8表结构也可以,但是在firefox会出现???你得用php的trim("")去掉???!!mysql5.X