- 浏览: 360046 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (238)
- j2ee (22)
- mysql (14)
- hibernate (2)
- struts (3)
- spring (7)
- php (28)
- cakephp (12)
- pattern (0)
- 数据结构 (0)
- python (17)
- redis (1)
- sql (2)
- ibatis (1)
- jquery (3)
- 测试 (3)
- linux (37)
- solr (3)
- oracle (5)
- jira (5)
- 版本控制 (3)
- xp (1)
- IDE (3)
- apache (4)
- hadoop (2)
- freemarker (2)
- maven (5)
- 项目管理 (2)
- UML (1)
- Django (6)
- 正则 (1)
- Scrapy (1)
- 文档管理 (3)
- 项目集成 (8)
- MQ (3)
- 架构 (1)
- HTML (1)
- IT (1)
- 云 (0)
- 应用服务器 (4)
- win 7 (1)
- thrift (1)
- 学习 (3)
- OpenStack (3)
- sqlserver (1)
- javascript (1)
- zabbix (3)
- IOS (1)
- rabbitmq (1)
- springcloud (2)
最新评论
-
xushenkun4:
至今仍然有这个bug,0.9.1无法传输中文utf8。
thrift使用出现诡异问题 -
feiniao2029:
[i][/i][u][/u]引用
spring 配置init方法 -
wt811004:
非常感谢朋友慷慨指导
dotproject项目管理工具使用 -
hackpro:
这将是一个经典,就像大话西游...
javaeye怀旧 -
raymond2006k:
个人更偏好 Velocity。我觉得还有个对比点,就是编程方式 ...
jsp freemarker velocity 比较
1.php中文字符串长度及定长截取问题
使用str_len("中国") 结果为6,php系统默认一个中文字符长度为3,可改用mb_strlen函数获得长度,mb_substr函数截取字符
mb_strlen($str, "utf-8"); //1汉字为1字符
mb_strlen($str, "gb2312"); //系统会认为1汉字为2字符
mb_strlen($str); //如果没有添加,系统会认为1汉字为3字符
int mb_strlen ( string str [, string encoding] )
string mb_substr ( string str, int start [, int length [, string encoding]] )
2.判断php变量是否定义,是否为空
if($keyword): 这样的语句如果在controller里没有set 到页面上判断语句会出错,改用表达式 isset($keyword)
表达式 gettype() empty() is_null() isset() boolean : if($x)
$x = ""; string TRUE FALSE TRUE FALSE
$x = null; NULL TRUE TRUE FALSE FALSE
var $x; NULL TRUE TRUE FALSE FALSE
$x is undefined NULL TRUE TRUE FALSE FALSE
$x = array(); array TRUE FALSE TRUE FALSE
$x = false; boolean TRUE FALSE TRUE FALSE
$x = true; boolean FALSE FALSE TRUE TRUE
$x = 1; integer FALSE FALSE TRUE TRUE
$x = 42; integer FALSE FALSE TRUE TRUE
$x = 0; integer TRUE FALSE TRUE FALSE
3.获取request多值参数
类似java的request.getParameterValues() (居然刚知道这个方法,==!)
页面form中
<input type="hidden" name="kword[]" value="2"/>
<input type="hidden" name="kword[]" value="7"/>
<input type="hidden" name="kword[]" value="895"/>
后台处理请求
$kword=$_POST['kword'];
cakePHP对应方法为
$kword=$this->params['form']['kword'];
使用时按照设置的顺序$kword[index] index: 0-n
4.php solr client api 取doc字段出现index not defined 错误解决方法:
solr文档可能某些字段不全,当取多个文档显示时,如果有的字段没有定义值会出现index not defined 错误
修改solr client api的Document文件
public function __get($key) {
//key不存在则返回空 避免出现index not defined 错误 shen guanpu 2010年7月15日13:51:52
return array_key_exists($key,$this->_fields)?$this->_fields[$key]:"";
//return $this->_fields[$key]; 原代码}
5. Install CakePHP in a Subdirectory Via an Apache Alias
httpd.conf
In httpd.conf, add the following line:Alias /directory_name /absolute/path/to/install/directory/app/webroot
.htaccess
In app/webroot/.htaccess, add the following line:RewriteBase /directory_name
Your .htaccess file should now appear as such:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /directory_name
RewriteCond % REQUEST_FILENAME !-d
RewriteCond % REQUEST_FILENAME !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
index.php
Finally, in app/webroot/index.php, at line 63, right below where it says not to edit below this line, change it to: define('WEBROOT_DIR', 'directory_name');
出处
http://www.chriscassell.net/log/2006/07/27/how_to_install_.html
6. mysql 远程访问设置
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
7.PHP 闭合标签
PHP闭合标签“?>”在PHP中对PHP的分析器是可选的。 但是,如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。
INCORRECT: <?php echo "Here's my code!"; ?>
CORRECT: <?php echo "Here's my code!";
/* End of file myfile.php // Location: ./system/modules/mymodule/myfile.php */
8.php判断数字
bool is_numeric ( mixed var )
9.mysql IGNORE_SPACE mode
写concat函数时出现 concat dose not exist错误
更改set sql_mode='IGNORE_SPACE'; 再写concat得到正确结果
mysql workbench字体太小,函数和“(”之间有空格居然没看到。。。
10.php solr 搜索排序
$response = $this->searchSolr->search( $query, $offset, $limit,array('sort'=>'wiki-recommend desc,wiki-score desc') );
11.字符编码转换
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
12. cakePHP之XP下apache配置
php.ini文件设置 date.timezone = HongKong 不然cakePHP首页会出现警告
apache httpd.conf配置主要是设置php支持及urlrewrite模块启动
LoadModule php5_module C:/php/php5apache2_2.dll
AddType application/x-httpd-php .php
PHPIniDir "C:/php"
#使用cake php 则去掉下行的注释
LoadModule rewrite_module modules/mod_rewrite.so
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
# 配置默认的目录设置 是否允许跳转.
#
<Directory />
Options FollowSymLinks
AllowOverride all
# Order deny,allow
# Deny from all
</Directory>
# This should be changed to whatever you set DocumentRoot to.
#这个目录的配置同上做更改
<Directory "C:\Apache2.2\htdocs">
13.二维数组赋值
$a1 = array( "a" => 0, "b" => 1 );
$a2 = array( "aa" => 00, "bb" => 11 );
$together = array( $a1, $a2 );
foreach( $together as $single ) {
$single["c" ] = 3 ;
}
这样赋值不会有任何变化,必须如下做法:
foreach( $together as $key => $value ) {
$together[$key]["c"] = 3 ;
}
使用str_len("中国") 结果为6,php系统默认一个中文字符长度为3,可改用mb_strlen函数获得长度,mb_substr函数截取字符
mb_strlen($str, "utf-8"); //1汉字为1字符
mb_strlen($str, "gb2312"); //系统会认为1汉字为2字符
mb_strlen($str); //如果没有添加,系统会认为1汉字为3字符
int mb_strlen ( string str [, string encoding] )
string mb_substr ( string str, int start [, int length [, string encoding]] )
2.判断php变量是否定义,是否为空
if($keyword): 这样的语句如果在controller里没有set 到页面上判断语句会出错,改用表达式 isset($keyword)
表达式 gettype() empty() is_null() isset() boolean : if($x)
$x = ""; string TRUE FALSE TRUE FALSE
$x = null; NULL TRUE TRUE FALSE FALSE
var $x; NULL TRUE TRUE FALSE FALSE
$x is undefined NULL TRUE TRUE FALSE FALSE
$x = array(); array TRUE FALSE TRUE FALSE
$x = false; boolean TRUE FALSE TRUE FALSE
$x = true; boolean FALSE FALSE TRUE TRUE
$x = 1; integer FALSE FALSE TRUE TRUE
$x = 42; integer FALSE FALSE TRUE TRUE
$x = 0; integer TRUE FALSE TRUE FALSE
3.获取request多值参数
类似java的request.getParameterValues() (居然刚知道这个方法,==!)
页面form中
<input type="hidden" name="kword[]" value="2"/>
<input type="hidden" name="kword[]" value="7"/>
<input type="hidden" name="kword[]" value="895"/>
后台处理请求
$kword=$_POST['kword'];
cakePHP对应方法为
$kword=$this->params['form']['kword'];
使用时按照设置的顺序$kword[index] index: 0-n
4.php solr client api 取doc字段出现index not defined 错误解决方法:
solr文档可能某些字段不全,当取多个文档显示时,如果有的字段没有定义值会出现index not defined 错误
修改solr client api的Document文件
public function __get($key) {
//key不存在则返回空 避免出现index not defined 错误 shen guanpu 2010年7月15日13:51:52
return array_key_exists($key,$this->_fields)?$this->_fields[$key]:"";
//return $this->_fields[$key]; 原代码}
5. Install CakePHP in a Subdirectory Via an Apache Alias
httpd.conf
In httpd.conf, add the following line:Alias /directory_name /absolute/path/to/install/directory/app/webroot
.htaccess
In app/webroot/.htaccess, add the following line:RewriteBase /directory_name
Your .htaccess file should now appear as such:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /directory_name
RewriteCond % REQUEST_FILENAME !-d
RewriteCond % REQUEST_FILENAME !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
index.php
Finally, in app/webroot/index.php, at line 63, right below where it says not to edit below this line, change it to: define('WEBROOT_DIR', 'directory_name');
出处
http://www.chriscassell.net/log/2006/07/27/how_to_install_.html
6. mysql 远程访问设置
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
7.PHP 闭合标签
PHP闭合标签“?>”在PHP中对PHP的分析器是可选的。 但是,如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。
INCORRECT: <?php echo "Here's my code!"; ?>
CORRECT: <?php echo "Here's my code!";
/* End of file myfile.php // Location: ./system/modules/mymodule/myfile.php */
8.php判断数字
bool is_numeric ( mixed var )
9.mysql IGNORE_SPACE mode
写concat函数时出现 concat dose not exist错误
更改set sql_mode='IGNORE_SPACE'; 再写concat得到正确结果
mysql workbench字体太小,函数和“(”之间有空格居然没看到。。。
10.php solr 搜索排序
$response = $this->searchSolr->search( $query, $offset, $limit,array('sort'=>'wiki-recommend desc,wiki-score desc') );
11.字符编码转换
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
12. cakePHP之XP下apache配置
php.ini文件设置 date.timezone = HongKong 不然cakePHP首页会出现警告
apache httpd.conf配置主要是设置php支持及urlrewrite模块启动
LoadModule php5_module C:/php/php5apache2_2.dll
AddType application/x-httpd-php .php
PHPIniDir "C:/php"
#使用cake php 则去掉下行的注释
LoadModule rewrite_module modules/mod_rewrite.so
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
# 配置默认的目录设置 是否允许跳转.
#
<Directory />
Options FollowSymLinks
AllowOverride all
# Order deny,allow
# Deny from all
</Directory>
# This should be changed to whatever you set DocumentRoot to.
#这个目录的配置同上做更改
<Directory "C:\Apache2.2\htdocs">
13.二维数组赋值
$a1 = array( "a" => 0, "b" => 1 );
$a2 = array( "aa" => 00, "bb" => 11 );
$together = array( $a1, $a2 );
foreach( $together as $single ) {
$single["c" ] = 3 ;
}
这样赋值不会有任何变化,必须如下做法:
foreach( $together as $key => $value ) {
$together[$key]["c"] = 3 ;
}
发表评论
-
MAC 安装php+nginx支持oci8等
2015-07-15 10:41 14851. 安装 php brew install php55 ... -
浏览器自动识别编码问题
2012-06-27 17:03 900由于web应用页面编码使用的gbk,但web服务器php的编码 ... -
PHP PACK UNPACK用法
2011-01-25 10:02 1607Pack 与unpack使用说明: ... -
百万级PHP网站架构方案
2010-11-04 18:09 1412在了解过世界最大的PHP ... -
PHP unzip 解压文件
2010-11-03 14:19 10081.unzip <?php $zip ... -
Php防止重复提交问题总结
2010-10-28 14:46 2584用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一 ... -
借用Google API 写一个查看天气预报的类
2010-10-28 13:09 1011<? //- Describe: //- Autho ... -
php当前日期的加减操作
2010-10-26 09:29 2003<?php echo "Today:" ... -
PHP 的命令行模式
2010-09-17 10:31 1265PHP 的命令行模式 从版本 4.3.0 开始,PHP 提供 ... -
php soap 错误处理(精简版)
2010-09-17 10:27 19961.使用soap $client = &qu ... -
php soap client 链接问题
2010-09-16 16:04 23521.说明 php 调用jira的soap接口代码: ... -
Handling data in a PHP JSON Object
2010-09-08 14:16 1173Trends data from Twitter Search ... -
php 和 js 保留2位小数
2010-08-24 10:25 28111.php保留两位小数例子 四舍五入 A.nu ... -
zlib 文件操作
2010-08-23 13:44 1024<?php //Extracting the co ... -
php pathinfo()函数用法详解
2010-08-23 12:59 1219摘要: php pathinfo()函数用法详解,pathin ... -
Date and Time in PHP
2010-08-18 13:39 881Displaying the current date and ... -
Php学习《四》 ------ 文件上传
2010-08-03 17:29 822通过 PHP,可以把文件上传到服务器。 创建一个文件上传表单 ... -
Php学习《三》 ------ 文件处理
2010-08-03 17:16 819fopen() 函数用于在 PHP 中 ... -
Php学习《二》 ------循环
2010-08-03 17:09 815循环 在您编写代码时,您经常需要让相同的代码块运行很多次。您 ... -
Php学习《一》 ------数组
2010-08-03 16:58 8211.数组分类 a.带值 ...
相关推荐
根据提供的文件信息,我们可以归纳出以下关键知识点,这些知识点主要围绕《PHP for the Web Visual QuickStart Guide 第五版》这本书展开: ### 书籍基本信息 - **书名**:《PHP for the Web Visual QuickStart ...
综上所述,通过这个PHP API接口的例子,我们可以学习到关于PHP开发API的基本流程和技术要点,包括但不限于参数接收与验证、数据库操作、数据加密以及错误处理等方面的知识。这对于初学者来说是非常宝贵的学习资源。
#### 五、前言摘录 本书的前言部分提到,当作者Alex告知他将撰写一本关于Yii的食谱书时,起初有人担心其独特性,因为网上已经存在一个用户贡献的Yii食谱(也称为Yii Wiki)。然而,本书不仅包含了丰富的如何有效...
根据给定的文件信息,以下是详细的知识点: 标题《CheatSheet合集1.pdf》中包含的知识点: - CheatSheet是一种速查手册,为程序员提供快速查阅各种编程语言和技术的要点、函数、方法和快捷键等重要信息。 - 本合集...
本文是关于PHP学习中数据库操作的基础知识,主要涉及MySQL数据库的使用和PHP与数据库之间的交互。首先,作者指出,在Linux系统上MySQL通常已经预装,在Windows系统上安装MySQL也是比较简单的,因此不再赘述安装过程...