标签 知识 下的文章

bootstrap激活tooltip

bootstrap官方帮助说:

出于性能方面的考虑,工具提示和弹框组件的data属性api是选择性加入的,也就是说你必须自己初始化他们。

初始化 在需要使用tooltip的元素里加上:

onMouseOver="$(this).tooltip('show')"

不然光靠进入js还是没办法的。然后设置上data-toggle="tooltip",设置好title属性,就OK了

PHP 浏览器已知文件类型下载写法

header()真的是个好东西,下载的本体其实就是把路径给出来,未知格式浏览器无解自然会弹出下载框,已知格式怎么破呢?比如html,这不就成了直接打开了吗?

    header('Content-Disposition: attachment; filename="'.$filename.'"');
    header('Content-Length: '.filesize($filename));

    readfile($filename);

加上header()之后读取文件,收工。

PHP 文件类函数以及一个新手坑

PHP文件基本操作函数有:
unlink()删除文件
rename()重命名文件或目录
copy()复制文件
另外还有文件夹操作
mkdir() 建立文件夹
rmdir() 删除空文件夹(非空会报错)

比如rename()手册上会这么写:
bool rename ( string $oldname , string $newname [, resource $context ] )

嗯 我个人觉得有点坑,其实与其说name不如说带上路径的文件/目录名好了,它不仅是要name,还要route啊!!

PHP die()的运用

die()其实也就是exit(),可以输出内容并且结束脚本,否则PHP还是会继续向下运行,除非是致命错误:
这样我们就不需要再设变量然后嵌套if来达成如果这里报错了。

写成die('错误'),那么就会在运行到这行结束脚本并且输出错误

        if (strpos($route, '..') !== FALSE || strpos($route, 'upload') === FALSE) {
            echo '路径非法';
            //$problem = TRUE;
            die();
        }

比如这个 本来想用$problem嵌套之后判断在运行之后的代码,但用了die()之后就直接搞定了,如果是有报错的部分,也可以与@配合使用(@能忽略报错提示)

PHP 关于传值:GET与POST

事实上,这不应该属于PHP的部分而更应该说是HTTP协议(?)所以说我还得去补一补协议的说……

传值分为GET和POST,POST相对比较保险,因为内容不可见的,想传什么也可以加个hidden传过去(唔,如果有人篡改表单会怎么样),GET的实现比较容易,网址后面加个?xxx=yyy,那么我们就能用$_GET['xxx']这个超全局变量获取到yyy了,可是更不好,万一有人改了这个就很混乱了=A=

所以光学PHP还是不大够啊,目前我的大多数内容都是用GET来传值的=_=因为GET更容易,POST我的能力内只有提交表单才能POST一下=A=

MYSQL 限制输出列与偏移

如果要限制输出1行 怎么办?其实用LIMIT就能搞定了

用法大概酱紫:

SELECT * FROM table LIMIT 1

那么如果要偏移,也就是取第三行呢:(offset是第一个参数,limit是第二个)

SELECT * FROM table LIMIT 2, 1

当然还找到了一个更酷的用法:

//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: 
SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.

通过limit和offset的连用就能实现分页功能了

不扩展的阅读:http://www.phpweblog.net/peiyinjin/archive/2008/04/15/3199.html

SQL 关联查找-LEFT JOIN

这是我初期的一大问题,两个表之间怎么建立关联,实际上,有个东西叫做JOIN,然后还有INNER JOIN,RIGHT JOIN,LEFT JOIN

我基本上用的都是LEFT JOIN,那么RIGHT JOIN大家懂得=A=其他我也没用过

不同的参考:

JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行

- 阅读剩余部分 -

PHP 创建数组坑一枚

关于这点的详细阅读:http://php.net/manual/zh/language.types.array.php

5.4 起可以使用短数组定义语法,用 [] 替代 array()

我们必须在意的地方是:从5.4开始,不注意就死了,因为现在主流虚拟主机用的还是5.3之类的,版本不够新,导致所有的数组定义方式都得改成老版,这神坑害我把整个项目的array都重写了=A=,虽然短数组定义比起array()好,但是兼容性问题也不可以忽略,尤其是=A=当你买不起VPS或者这货要给好多人用的时候。