博客

重温PHP手册

一、 处理文件及文件夹函数:
1.getcwd 获取当前目录
2.chdir 改变目录
3.chmod 改变文件模式
chmod('/var/www/tmp', 0755);
第二个参数最好是八进制数。十进制或许不对。
4.用glob代替opendir()
<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename size " . filesize($filename) . " type " .filetype($filename). "\n";
}
?>
5.scandir()
array scandir ( string $directory [, int $sorting_order [, resource $context ]] )
返回数组,记录指定目录下的所有文件和目录。

博客分类: 

UTF-8和utf-8区别

昨天使用flash时候出现配置信息XML文件读取失败的情况。

经过一位同事的帮忙,最终确定是编码格式的问题。但是我是UTF-8以及Unix下编码。后来,我查看XML文件,发现头部的encoding="utf-8",我将其改为大写UTF-8,问题竟然奇迹般解决了。

上网搜的结果基本都认为windows不区分大小写,UTF-8和utf-8没有区别。但是写成UTF-8会更标准。国际标准是UTF-8而不是utf-8。

另外,顺便提下,mysql内只能用set name=utf8;这是由于mysql解析的原因,跟上面说的不是一回事情了。

博客分类: 

sql-mode引发的问题

今天在执行一段mysq插入时,发现一直报错。

定位发现是其中有个字段为datetime,设置为空值。

但是,奇怪的是我在另一台服务器上执行时完全正确,甚至都没有Warning。

我一开始怀疑是mysql版本问题,但是我的是5.1.30,好的那台是5.1.33。版本基本一样。

我开始觉得可能是mysql的配置问题,最终,我在数据库配置里找到sql-mode,上网查询了下,果然是这个设置的问题。

5.0之后的版本,mysql默认开启了sql-mode,我的配置为:

#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

我把它改为:sql-mode=""

重启mysql,执行刚才的sql语句,发现一切正常了。

 

关于sql-mode可以访问官方网站:

博客分类: 

linux+Apache+Php+Mysql安装

做PHP三年多,一直都是apt-get install ,从未手动安装过apache,php以及mysql。最近有需要在服务器上安装LAMP。

安装包我选择的:

  • httpd-2.0.63.tar.gz
  • php-5.2.14.tar.gz
  • mysql-5.1.46-linux-i686-glibc23.tar.gz

放在/usr/local/src下面

一、安装Mysql

shell> groupadd mysql

shell> useradd -g mysql mysql

shell>cd /usr/local/src

shell>tar xvzf mysql-5.1.46-linux-i686-glibc23.tar.gz

shell>cd mysql-5.1.46-linux-i686-glibc23

shell> scripts/mysql_install_db --user=mysql

shell> chown -R root  .

博客分类: 

打印变量结构var_export()

今天调试东西的时候,使用var_export()将变量结构打印到某文件。由于忘记添加第二个参数导致浪费了很多时间。如果要把变量打印的结果保存为字符串,一定要第二个参数设为TRUE:var_export($variable,TRUE);

哎,这个小问题导致了很长的时间去定位,郁闷啊!!

博客分类: 

Drupal Hooks学习经验

1,hook_form_alter()

2,hook_action_info()

增加一个动作.

function xxx_action_info() {
  return array(
      '_xxx_action' => array(
      'type' => 'node',
      'description' => t('xxx action description'),
      'configurable' => FALSE,
      'hooks' => array(),
    )
  );
}

function _xxx_action(){

//do something.

}

博客分类: 

Linux下查看当前文件夹所在的路径

在linux下经常会遇到相同的目录名,如/etc/,而进入这个目录缺不知道是/usr/lib/etc/还是/etc/.所以查看当前目录的路径很重要.

pwd命令就是用来干这事儿的.print working directory.

另外,如果是软连接,想知道真实路径可以加-P这个参数.如:

pwd -P 记得大写-P.我用的debian,小写不正确.

博客分类: 

页面