Submitted by 淡水河边 on 2008, January 27, 9:50 PM
FAQ中文版
- 如何创建自增字段?
- SQLite 支持哪些数据类型?
- 为什么能向 SQLite 数据库的整型字段中插入字符串?
- 为什么 SQLite 认为表达式 '0'=='00' 为真?
- 为什么 SQLite 不允许在同一张表里使用 '0' 和 '0.0' 作为两个不同的行的主键?
- 为什么不能在 Linux box 中读取在 SparcStation 中创建的 SQLite 数据库?
- 多个应用程序或者同一个应用程序的多个例程能同时存取同一个数据库文件吗?
- SQLite是线程安全的吗?
- 如何列出一个 SQLite 数据库中的所有的表/索引?
- SQLite数据库是否有已知的大小限制?
- 在 SQLite 中 VARCHAR 的最大长度是多少?
- SQLite 是否支持 BLOB 类型?
- 如何从一个已存在的 SQLite 数据表中添加/删除字段?
- 我删除了很多数据但是数据库文件并没有减小,是不是 Bug?
- 是否能将 SQLite 用于商业用途而不用交版权费用?
- 我如何使用含有单引号(')的字符串?
- SQLITE_SCHEMA 错误代表什么?
- 为什么ROUND(9.95,1) 返回 9.9 而不是 10.0? 难道9.95 不该向上进位么?
» 阅读全文
Tags: sqlite
网站|数据库类 | 评论:0
| Trackbacks:0
| 阅读:1037
Submitted by 淡水河边 on 2008, January 25, 9:29 PM
哈哈,不需要什么设置了
只要用svn到最近版本就ok了
在config的database.php多了
PHP代码
- $db['default']['char_set'] = "utf8";
- $db['default']['dbcollat'] = "utf8_general_ci";
淡水正好用utf8,不用再改了.
Tags: codeigniter
网站|PHP学习 | 评论:2
| Trackbacks:0
| 阅读:944
Submitted by 淡水河边 on 2008, January 19, 11:48 AM
PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
方法1:
找到php.ini中的“;date.timezone =”这行,将“;”去掉,改成“date.timezone = PRC”(PRC:People's Republic of China 中华人民共和国),重启Apache,问题解决。
方法2:
在php5以及起以上的版本,要输出本地的时间(限中国),可以这么写代码:
PHP代码
- <?php
- date_default_timezone_set('Asia/Shanghai');
- echo date('Y-m-d H:i:s');
- ?>
也可以这样写代码:
PHP代码
- <?php
- date_default_timezone_set('Asia/Chongqing');
- echo date('Y-m-d H:i:s');
- ?>
下次再有人问,就直接发这个地址给他。^_^
Tags: 时间
网站|PHP学习 | 评论:0
| Trackbacks:0
| 阅读:642
Submitted by 淡水河边 on 2008, January 17, 9:16 AM
Submitted by 淡水河边 on 2008, January 14, 8:06 PM
如果需要做网址转向,一般上在 php 用 header() 实现的转向是 302:
PHP代码
- header("Location: http://www.newaddress.com/");
301 及 302 同样可以做到网址的转向,但分别在于 301 是永久的转向,而 302 是暂时性质的转向。这个分别对于使用者来说是没有分别的,但对于 search engine 就有分别了。Google 推荐网站管理员当转换网址时用 301 转向。而以下分别是透过 .htaccess、PHP 及 ASP 实现 301 转向的方法,而假设新 domain 是 newdomain.com:
.htaccess
在网站的根目录建立一个 .htaccess 档案,并加入以下内容:
RewriteEngine On
RewriteRule ^(.*)$ http://www.newdomain.com/ [R=301,L]
PHP
在 index.php 的最顶加入以下几行:
PHP代码
- <?php
- header("HTTP/1.1 301 Moved Permanently");
- header("Location: http://www.newdomain.com/");
- exit();
- ?>
ASP
在 index.asp 或 default.asp 的最顶加入以下几行:
XML/HTML代码
- <%
- Response.Status="301 Moved Permanently"
- Response.AddHeader "Location","http://www.newdomain.com/"
- Response.End
- %>
Tags: 301, seo
网站|PHP学习 | 评论:1
| Trackbacks:0
| 阅读:926
Submitted by 淡水河边 on 2008, January 14, 7:32 PM
PHP 内建的 substr 函式可以分割文字,但要分割的文字如果包括有中文字往往会遇到问题,这可以用 mb_substr() 来做。mb_substr() 的用法与 substr() 很相似,只是在 mb_substr() 最后要加入多一个参数,以设定字符串的编码,但要先让 PHP 支援 mbstring 才可以。
在编译 PHP 时加入 --enable-mbstring 选择就可以加入 mbstring 模块了。以下是 mb_substr() 的使用方法:
PHP代码
- <?php
- $string = '这是测试用的中文字';
- $string = mb_substr($string, -1, 3, 'gb2312');
- echo $string;
- ?>
以上的第三行要注意,将 gb2312 修改成中文字所用的编码,例如 UTF-8。淡水牢骚:国内多数idc都是windows的系统,而且好多函数不支持.
Tags: substr, mb_substr
网站|PHP学习 | 评论:0
| Trackbacks:0
| 阅读:723
Submitted by 淡水河边 on 2008, January 14, 7:25 PM
在 PHP 内用 mail() 发出邮件时,如果没有指定 Return Path,系统便会以预设的电邮地址代替 (例如 admin@localhost 这类)。以下是一个常见的错误:
PHP代码
- <?php
- $header= "From:My Name<my_name@mydomain.com>";
- $header.= "Reply-To: My Name<my_name@mydomain.com>";
- $header.= "Return-Path: My Name<my_name@mydomain.com>";
- mail($to, $subject, $email_body, $header);
- ?>
以上设定了所发出的邮件的 From 内容,但这是不够的,只要查看所发出邮件的 header,会发现有一个 Return-Path 显示系统的预设电邮。因为现时 spam 非常猖獗,很多 email server 会这类 email 档掉或者标示成 spam,将以上程序码改成这档便可以避免这个问题:
PHP代码
- <?php
- $header= "From:My Name<my_name@mydomain.com>";
- mail($to, $subject, $email_body, $header);
- ?>
Tags: mail()
网站|PHP学习 | 评论:0
| Trackbacks:0
| 阅读:678
Submitted by 淡水河边 on 2008, January 12, 10:09 AM
又是来自咕噜咕噜。为什么要压缩js文件?很明显,压缩后,文件个头小了,下载就快了,网页也就能在更短的时间内呈现在我们的面前,正常情况下,gzip对js的压缩比能达到3:1左右,以ext-all.js为例,源文件大小:463k,经过gzip压缩后的个头为125k,几乎到了4:1。
PHP代码
- <?php
-
- gzip_file("ext-all.js");
-
- function gzip_file($file_s){
- if(!is_array($file_s)){
- $files[] = $file_s;
- }
- else{
- $files = $file_s;
- }
- header("Expires:".gmdate("D, d M Y H:i:s", time()+15360000)."GMT");
- header("Cache-Control: max-age=315360000");
- $mtime = filemtime($file);
- $gmt_mtime = gmdate(‘D, d M Y H:i:s’, $mtime) . ‘ GMT’;
- header("Last-Modified:" . $gmt_mtime);
- ob_start(‘ob_gzhandler’);
- foreach($files as $file){
- $ext = array_pop(explode(‘.’, $file));
- switch ($ext){
- case ‘css’:
- header("Content-type: text/css");
- break;
- case ‘js’ :
- header("Content-type: text/javascript");
- break;
- case ‘gif’:
- header("Content-type: image/gif");
- break;
- case ‘jpg’:
- header("Content-type: image/jpeg");
- break;
- case ‘png’:
- header("Content-type: image/png");
- break;
- default:
- header("Content-type: text/plain");
- }
- echo implode(”, file($file));
- }
- ob_end_flush();
- }
- ?>
假设将上面的代码存储为ext-all.php
那么引用的时候只需
PHP代码
- include("ext-all.php")
就能实现对ext-all.js的压缩,当然前提是服务端支持zlib。
Tags: gzip
网站|PHP学习 | 评论:0
| Trackbacks:0
| 阅读:755
Submitted by 淡水河边 on 2008, January 11, 7:08 PM
一个免费开源的项目。有asp.net , php 2个版本 自带上传功能 。
SPAW Editor 2. 特点介绍:
- 支持tab功能,意味着一个编辑器可以同时编辑好几个文档。越来越像常用的编辑器了,哈哈。
- 浮动的工具栏,想怎么拖就怎么拖。
- 窗口任意缩放……没有想法了
- 含有API接口,可以方便的进行二次开发。
- 支持 Opera, Safari, Firefox, Mozilla, Netscape 等等,还有更多吗?
- 可以方便更换主题。
- 文档管理器,任意上传。
- 多语言支持,当然有我们可爱的母语中文咯。
这么强大的编辑器,也就区区三四百kb,精简一下应该更令人兴奋。
使用方法:
开头插入
PHP代码
- <?php
- include(”../spaw.inc.php”);
- ?>
需要编辑器的地方插入,其中spaw1就是你表单的标识,如果是编辑就再加入一个内容的函数
PHP代码
- <?php
- $spaw1 = new SpawEditor(”spaw1″);
- $spaw1->show();
- ?>
就这么简单。配置文件在 config 目录中,具体的设置查自带的文档吧
php版本: http://sourceforge.net/project/showfiles.php?group_id=77954&package_id=78981&release_id=523489
ASP.Net版本: http://sourceforge.net/project/showfiles.php?group_id=77954&package_id=92584&release_id=543187
Tags: editor, wysiwyg
网站|PHP学习 | 评论:1
| Trackbacks:0
| 阅读:842
Submitted by 淡水河边 on 2008, January 11, 10:16 AM
摸索codeigniter。一开始就遇到了挫折。
按官方的提示,我想把RUL中的index.php隐藏掉。原来的URL是“www.your-site.com/index.php/news/article/my_article”
通过设置.htaccess文件可以掩藏它。使用“非”(!)方法使指定以外的任何请求都重新定向。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
在上面的例子中,任何除开 index.php,images,和robots.txt 的 HTTP 请求都当成对 index.php 文件的请求。
淡水照做了。但是给我的结果是:
Forbidden
You don't have permission to access /main on this server.
Apache/2.0.59 (Win32) DAV/2 PHP/5.2.3 Server at localhost Port 80
本以为是权限的问题,其实不是,而是由于Server的httpd.conf中将FollowSymLinks禁止了,也就是禁止了符号链接。来看看Apache Document中对FollowSymLinks的定义:
XML/HTML代码
- FollowSymLinks
- The server will follow symbolic links in this directory.
- Even though the server follows the symlink it does not change the pathname used to match against <Directory> sections.
- Note also, that this option gets ignored if set inside a <Location> section.
因此,我们需要在.htaccess中进行设定:Options FollowSymLinks
再试。ok。
全部的.htaccess文件如下:
XML/HTML代码
- RewriteEngine on
- Options FollowSymLinks
- RewriteCond $1 !^(index\.php|images|robots\.txt)
- RewriteRule ^(.*)$ /index.php/$1 [L]
Tags: .htaccess, codeigniter
网站|PHP学习 | 评论:3
| Trackbacks:0
| 阅读:1254