linux给文件或目录添加apache权限

系统环境:ubuntu11.10/apache2/php5.3.6
在LAMP环境中,测试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现如下php警告:

1
2
[Tue Jan 31 09:40:27 2012] [error] [client 127.0.0.1] PHP Warning: move_uploaded_file(/home/leotody/32883679.jpeg): failed to open stream: Permission denied in /var/www/upload_file.php on line 25, referer: http://localhost/info.html
[Tue Jan 31 09:40:27 2012] [error] [client 127.0.0.1] PHP Warning: move_uploaded_file(): Unable to move '/tmp/phps05ssU' to '/home/leotody/32883679.jpeg' in /var/www/upload_file.php on line 25, referer: http://localhost/info.html

Read More

notepad++上使用markdown

自从开始用markdown写博客以后,开始越来越喜欢使用markdown写作, 而且最近开始使用markdown写作更多的东西,尝试了好多个markdown的编辑器都不尽人意。 或者说是使用起来相当不习惯。所以试着去配置一下notepad++。使得更适合我写作。

markdown的高亮

其实有没有高亮其实是没所谓的,毕竟markdown的语法比较简单。 就算没有高亮也不会有太大的问题,但是为了可以看起来更加舒服。 github上面有一个很好的配置文件, 你也可以使用这个配置文件来配置。当然这个配置文件相当不适合我这个黑夜系的程序猿。所以我也根据这个修改了userDefineLang.xml

如果你需要使用这个可以运行(即win键+r) 执行%APPDATA%\Notepad++,粘贴userDefineLang.xml到这个目录。 然后重启一下notepad++就可以看到效果了。

MySQL “replace into” 的坑

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。

MySQL 对 SQL 有很多扩展,有些用起来很方便,但有一些被误用之后会有性能问题,还会有一些意料之外的副作用,比如 REPLACE INTO。

Read More

Mysql 列转行统计查询 、行转列统计查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
-- ----------------------------  
-- Table structure for `TabName`
-- ----------------------------
DROP TABLE IF EXISTS `TabName`;
CREATE TABLE `TabName` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(20) DEFAULT NULL,
`Date` date DEFAULT NULL,
`Scount` int(11) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of TabName
-- ----------------------------
INSERT INTO `TabName` VALUES ('1', '小说', '2013-09-01', '10000');
INSERT INTO `TabName` VALUES ('2', '微信', '2013-09-01', '20000');
INSERT INTO `TabName` VALUES ('3', '小说', '2013-09-02', '30000');
INSERT INTO `TabName` VALUES ('4', '微信', '2013-09-02', '35000');
INSERT INTO `TabName` VALUES ('5', '小说', '2013-09-03', '31000');
INSERT INTO `TabName` VALUES ('6', '微信', '2013-09-03', '36000');
INSERT INTO `TabName` VALUES ('7', '小说', '2013-09-04', '35000');
INSERT INTO `TabName` VALUES ('8', '微信', '2013-09-04', '38000');


-- ------------------------
-- 查看数据
-- ------------------------
SELECT * from TabName ;

Read More

Mysql行转列

准备表数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE test_user (  
name varchar(50) DEFAULT NULL,
subject varchar(50) DEFAULT NULL,
score int(11) DEFAULT NULL
);
insert into test_user values
('zhangsan' , 'chinese' , 10),
('zhangsan' , 'math' , 20),
('zhangsan' , 'english' , 30),
('lily' , 'chinese' , 40),
('lily' , 'math' , 50),
('lily' , 'english' , 60),
('mini' , 'chinese' , 70),
('mini' , 'math' , 80),
('mini' , 'english' , 90);

select * from test_user

Read More