ng-repeat获取父级INDEX

angularjs的循环嵌套我就不多说了,无非是ng-repeat的嵌套而已,如果需要获取索引请使用$index。

那么问题来了,$index只能获取当前循环的索引,如果需要获取父级的索引怎么办?

原理其实也不难,在父级ng-repeat时利用ng-init写入一个变量即可,子循环是可以访问到的。

html5新属性data api

以往在做列表程序的时候,需要做类似“删除”功能的时候,往往是组装一个URL,类似于这个

index.php?m=news&a=delete&id=10

这是最普通的url方式来进行删除。

PHP二进制方法存储图片

大部分人的图片上传都是保存一个路径到数据库,这样在插入时确实快,也符合web的特点,但是在删除时就很麻烦,需要找到文件并删除,该代码能够把代码直接存入数据库,删除时一并删除。
请注意:这样的话数据库大小会激增,请酌情使用,且RDBMS对于二进制数据的处理并不是很理想。

表结构(只做简单演示,故字段有限)

1
2
3
4
5
6
CREATE TABLE `upload` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`type` varchar(20) NOT NULL,
`data` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

上传表单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!doctype html>
<html>
<head>
<title>
Post-Image
</title>
</head>
<body>
<form action="post.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"/>
<input type="submit" value="OK"/>
</form>
</body>
</html>

Angularjs动态表单项

后台业务系统中有很多CURD操作,一个很简单的例子是OA系统中为员工添加帐号信息,传统的做法是添加完一个就跳转并提示“成功”,后来高级一点的做法是利用jquery来做。

但是一个比较麻烦的问题是需要手动拼接HTML并且插入文档树。

然而,现在有了跨时代神器–angularjs,就是这么炫,强大的双向绑定功能可以帮到我们。

Yii1.x单点登录

背景

Web迅速发展的今天,往往一个产品拥有很多个子站点,SSO技术显得很重要。Yii作为我常用的框架,发现Yii的SSO配置其实是非常简单的。

代码

在所有站点中直接打开 protected/config/main.php 在 components 中加入以下代码,并且把protected/runtime/state.bin文件复制到各个具体的子站点中就可以实现SSO了!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
'user' => array(
'identityCookie' => array(
'domain' => '.ddhigh.com',
'path' => '/'
),
// enable cookie-based authentication
'allowAutoLogin' => true,
'stateKeyPrefix' => 'ddhigh',
'loginUrl' => array('user/login')
),
'session' => array(
'cookieParams' => array(
'domain' => '.ddhigh.com',
'lifetime' => 0,
'timeout' => 3600
),
),
'statePersister' => array(
'class' => 'CStatePersister',
'stateFile' => './protected/runtime/state.bin'
),

PHP遍历文件

遍历文件夹主要用到 opendir readdir closedir 三个函数,有两个要注意的地方

要排除 ‘.’ 和 ‘..’ 两个目录

需要用到递归

highchats曲线不显示

highchats是什么就不介绍了。一个JS绘图工具库,基于JQ,使用简单方便,但是不注意的话会坑人。

今天兴致满满的去绘图,后端数据也返回了。可是一个纠结的问题困扰了我一下午!

后端数据返回的JSON是

angularjs鼠标悬浮效果

用JQ来做的话很简单的,(通过toggleClass函数就可以了),但是既然提到了angularjs,当然要用angularjs的解决方案来做啦!

angularjs集成了一个jqlite模块(可以理解为阉割版的jquery),提供有限并且常用的功能。

主要用到指令系统中的Link函数,代码就不贴了。

PHP自动更新网站

目前软件开发主流越来越倾向于B/S模式,不同于C/S模式的软件,B/S模式下的WEB程序自动更新是个麻烦问题。

本人利用PHP下载远程文件和ZIP类,写了一个简单的自动更新DEMO,供大家参考。

服务端

目录结构

1
2
3
4
5
|data

|--20140918.zip

|--index.php

PHP下载远程文件

在开发爬虫的时候,文章的图片往往是有防盗链措施的,一个比较好的解决办法是通过PHP下载图片到本地并且替换URL实现。

由于图片这种东西不能直接像下载HTML那样直接下载,所以需要指定fopen的打开模式为b(二进制模式)。

1
2
3
4
5
6
7
8
9
<?php
$url = 'http://picturescdn.qiniudn.com/93aa93787ae02be68192b3533d3e76b0';
$remote_fp = fopen($url,'rb');
$local_fp = fopen(date('YmdHis'),'wb');
while(!feof($remote_fp)){
fwrite($local_fp,fread($remote_fp,128));
}
fclose($remote_fp);
fclose($local_fp);
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×