CodeIgniter 控制器方法不能和控制器类名同名

我写了这样一段代码:

class Login extends CI_Controller {

    public function index()	{
        $this->load->library('form_validation');
        /* ... other code ... */
        $this->load->view('login_form');
    }

    public function login() {
        $this->load->helper('url');
        /* ... other code ... */
    }
}

 

运行,无论怎样都有错,提示 $this 的 load, session 等属性不存在。找了半天才知道是存在与控制器类名相同的方法引起的。

但是为什么会是这样呢?有时间研究一下。

Linux 批量设置文件夹权限 && eclipse 返回上一次光标位置

好吧,其实标题两者内容没有联系,写在这里做个备忘。

1、Linux 下递归给某文件夹下的所有文件和文件夹设置权限命令为:

chmod -R 777 DIR_NAME

只给文件夹设置权限:

find DIR_NAME -type d | xargs chmod 777

同理只给文件设置权限:

find DIR_NAME -type f | xargs chmod 777

2、eclipse 使用 F3 查看函数或类定义后,如果打开的文件的文件很多就不知道原光标在何处。eclipse 有快捷键:Alt + 方向键

百度搜索刘静的博客排第一个了

太好了。百度搜索会显示一个日期,好像是快照的日期。搞不懂百度快照多长时间更新一次。反正现在看是2013-1-24,然后现在搜索“刘静的博客”,第一个结果就是我的这个博客。搜索我的名字“刘静”,在第二页也能看到这个博客。感觉不错哦。

试了下谷歌,好像“刘静”成了敏感词,一搜索便打不开谷歌了。哪位大人物姓刘来着???

FUCK GGFFWW!!!

利用 Dropbox 备份网站数据及数据库

过程记录如下。

1、在 Dropbox 官网注册帐号,刚注册会有 2 G 空间。(对我们这台博客服务器来说,差不多了。可以通过邀请和做任务获得更多的免费空间)

2、ssh 登录服务器

3、下载并配置 Dropbox linux 客户端
下载

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -

运行

~/.dropbox-dist/dropboxd

会生成一个地址,复制到浏览器打开,然后登录 Dropbox 帐号就可以将服务器和帐号绑定了。
家目录下会生成一个 ~/Dropbox 文件夹,Dropbox 默认会同步该文件夹下的所有文件。在该目录下为网站根目录做一个软链接

ln -s /var/www

这样就可以将网站所有文件同步到 Dropbox 服务器啦,如果要同步 Mysql 数据库,还需要 mysqldump 出数据,将其复制到这里即可。

4、Dropbox 一直运行会占用内存,因此做了一个定时任务,每天备份 Mysql,然后运行 Dropbox 一个小时。
编辑任务

crontab -e

编辑(如果是第一次运行此命令,会提示选择编辑器),在最下面添加如下内容

0 3 * * * mysqldump -u用户 -p密码 --all-databases > ~/Dropbox/mysql-all-database.sql
0 4 * * * ~/.dropbox-dist/dropboxd
0 5 * * * pkill dropbox

 

谷歌收录大大减少

今天在谷歌搜索“刘静的博客”,竟然翻到第三页下面才出现我的这个博客链接。我记得前两天还很正常,搜索该词条排在第一个的就是我的这个博客。

我估计是因为前几天我安装了一个 SEO 的插件,使用该插件更改了我博客分类,归档的 URL 结构,以及文章标题的显示内容。我搞不清楚该插件是如何工作的,后来又卸载了它。应该就是因为这个原因导致谷歌对博客收录产生了影响。

结论:不要大范围的更改站点 URL 结构和文章内容页面的标题。

关于visual studio类视图和资源视图不显示类和资源的问题

Update 2012-4-2 21:18:56:

两种解决方法:①工具—选项—文本编辑器—C/C++—高级,浏览/导航下的禁用数据库选项置为True;② Win + R 运行:devenv /resetsettings

我电脑上安装的是visual studio 2010.昨天发现新建项目后类视图和资源视图不显示相关内容,大家知道,如果没有类视图的话会很不方便。在网上放狗搜索未找到解决方法,没办法,只有重安装了一遍,打开,发现问题依旧。我猜想是哪里设置出错了。后来在msdn论坛上找到了重置所有设置的方法:运行:devenv /resetsettings,此命令功能是重置IDE所有设置。(顺便再贴一个命令:devenv /safemode,以安全模式即不加载第三方插件运行vs。)

重置vs设置后一切正常,然后我又设置了禁用数据库选项,发现再次打开工程又出现了上述问题,才明白问题出在了哪里。

前两天,我发现使用vs2010建的工程,目录下会有sdf文件和ipch目录,这两个东西占的空间非常大,想看看能不能删了这两个东西,于是搜索,找到解决方法。依次打开vs2010菜单栏—工具—选项—文本编辑器—C/C++—高级,浏览/导航下的禁用数据库选项置为True。工程就不会产生sdf和ipch相关文件了。但之后类视图不显示类的问题就出现了。

题外话:我怎么觉得wordpress的编辑器这么难用啊,一点都不方便。每段前面要空两格都不能按Tab键实现,并且按回车就会空出一行。关键是,就算我在编辑里前面有空格,发布之后段落开头空格又不见了。这格式到底要怎么控制嘛。还有,为什么标题visual和studio之间的空格隔那么远啊。

(原博客发布时间:2011-05-10 09:05:16)

cout如何保留2位小数输出

现在有时没事的时候就在hdu acm上做一些简单的题目。经常会遇到控制格式输出的问题,每次要控制格式的时候,我都会上网查一下cout如何控制输出格式。我感觉我有代码怪癖,因为写c++ 所以我不想用printf函数printf(“%.2f”, a);。现在把cout输出小数位数的格式贴在这里,方便以后查看。

cout<<setiosflags(ios::fixed)<<setprecision(2);//需要头文件#include <iomanip>

然后再输出实数类型变量即可以保留2位小数输出了,当然你要保留三位小数,setprecision(3)就行。

setprecision是指设置输出精度,当没有

cout<<setiosflags(ios::fixed)

时,输出格式是数据的有效位数,例如

float a = 123.666;
cout<<setprecision(5)<<a;

将输出123.67(注意这里,它会四舍五入)。如果setprecision里的参数小于整数位数,将以指数形式输出,例如

float a = 123.666;
cout<<setprecision(2)<<a;

将输出1.2e+002。

setiosflags(ios::fixed)是指以固定的浮点显示,当setiosflags(ios::fixed)和serprecision(n)两个一起用时就表示保留n位小数输出。这里还要注意,每次输出只要设置一次就行了,因为这两个的作用范围是后续对象,而不是仅对后一个对象起作用。

(原博客发布时间:2011-09-02 10:51:49)