windows下安装symfony

symfony是目前为止唯一支持pear安装的php framework, 当然如果你觉得用pear比较麻烦也可以直接在官方网站http://www.symfony-project.com上下载压缩包.

pear下安装步骤如下 :

假如本机没有 phing 包,需要先安装phing包, phing究竟是什么我也没有搞明白:

> pear install http://phing.info/pear/phing-current.tgz

首先把Symfony频道加入PEAR, 执行以下命令:

> pear channel-discover pear.symfony-project.com

然后安装稳定版本symfony

> pear install symfony/symfony

在漫长的等待之后运行以下命令查看是否安装成功:

> symfony -V

如果返回了版本号码,那么恭喜你,你已经安装成功了.

vForm ver1.3 build 20071207

为了简化烦琐的javascript前端验证代码,

为了更好的通过w3c标准认证,

Oh yeah, vForm诞生了!

下载程序请直接拉到文章最后的附件部分.

什么是vForm?

vForm是一个php和一个javascript的结合, 再具体点说,vform由一个php类和一个javascript验证函数库组成, php的作用就是控制调用和生成javascript.

为什么开发vForm?

javascript验证是我们公司每个项目必须要做的工作, 为了避免反复写大量的javascript验证代码, 所以抽出了一些时间开发vForm.

vForm有多方便?

因为本人很懒, 所以需要程序一定要完成大部分工作.不说废话,上代码,看看vform如何完成一个表单验证. 注:需要将vform.php和vform.js放到同目录下.可以直接下载程序包,里面也有这个例子.

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
/**
* 这是一个vfrom使用的一个离子.本例中为大家演示了各种验证规则
* 的使用和同页面多表单验证的实现方法.
*/
require_once(’vform.php’);
$config = array(
array(”,’username’,’require’,’请输入帐号’),
array(’len’,’username’,’10′,’帐号不能超过10位’,’5′,’帐号不能少于5位’),
array(”,’pass’,’require’,’请输入密码’),
array(’len’,’pass’,’16′,’密码不能超过16位’,’6′,’密码不能少于6位’),
array(’s’,’repass’,’pass’,’两次输入的密码必须相同’),
array(”,’qq’,’number’,’QQ号码必须为数字’),
array(’len’,’qq’,’9′,’QQ号码不能超过9位’,’5′,’QQ号码不能少于5位’),
array(”,’phone’,’phone’,’电话号码由-和数字组成’),
array(”,’name’,’chinese’,’姓名必须是汉字’),
array(’len’,’name’,’4′,’这里不欢迎日本人’,’2′,’名字太短了’),
array(”,’ename’,’english’,’英文名必须是英文’),
array(’len’,’name’,’25′,’你是火星人么?’,’2′,’名字太短了’),
array(”,’age’,’number’,’年龄要是数字才行’),
array(”,’postcode’,’postcode’,’这个是邮政编码’),
array(”,’p’,’percent’,’一个百分比’),
array(”,’f’,’float’,’一个有理数,正负小数整数等等’),
array(”,’nc’,’nochinese’,’不能输入汉字’),
);
$config2 = array(
array(”,’username2′,’require’,’请输入帐号2′),
array(”,’pass2′,’require’,’请输入密码2′),
array(’s’,’repass2′,’pass2′,’两次输入的密码2必须相同’)
);
$vform = new vform($config, ‘form1′);
$xform = new vform($config2, ‘b_2′, ‘click’);
?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>vForm示例</title>
<style type=”text/css”>
*{
margin:0;
}
body,html{
font:12px;
text-align:center;
}
h1{
font:36px;
font-weight:bold;
text-align:left;
background:#ccc;
border-bottom:2px solid #666;
margin-bottom:10px;
}
form{
margin:10px;
}
img{
border:0;
}
#main{
width:275px;
margin:0 auto;
text-align:left;
}
#main p{
text-align:right;
padding:2px;
}
.text{
width:150px;
background:#eee;
border:1px solid #666;
}
.botton{
width:75px;
color:#fff;
font-weight:bold;
background:#555;
border:1px solid #000;
padding:2px;
}
</style>
<?=$vform->p();?>
<?=$xform->p(true);?>
</head>
<body>
<h1>vForm示例</h1>
<div id=’main’>
<form action=’http://www.m4ker.net’ method=’get’ id=’form1′ >
<p><b>帐号:</b><input name=’username’ class=’text’ id=’username’ /></p>
<p><b>密码:</b><input name=’pass’ class=’text’ id=’pass’ /></p>
<p><b>重复密码:</b><input name=’repass’ class=’text’ id=’repass’ /></p>
<p><b>电话号码:</b><input name=’phone’ class=’text’ id=’phone’ /></p>
<p><b>QQ号码:</b><input name=’qq’ class=’text’ id=’qq’ /></p>
<p><b>姓名:</b><input name=’name’ class=’text’ id=’name’ /></p>
<p><b>英文名:</b><input name=’ename’ class=’text’ id=’ename’ /></p>
<p><b>年龄:</b><input name=’age’ class=’text’ id=’age’ /></p>
<p><b>邮政编码:</b><input name=’postcode’ class=’text’ id=’postcode’ /></p>
<p><b>百分比:</b><input name=’p’ class=’text’ id=’p’ /></p>
<p><b>有理数:</b><input name=’f’ class=’text’ id=’f’ /></p>
<p><b>非汉字:</b><input name=’nc’ class=’text’ id=’nc’ /></p>

<p><input type=’submit’ value=’验证’ class=’botton’ id=’b_1′ /></p>
</form>
<form action=’http://www.m4ker.net’ method=’get’ id=’form2′ >
<p><b>帐号2:</b><input name=’username’ class=’text’ id=’username2′ /></p>
<p><b>密码2:</b><input name=’pass’ class=’text’ id=’pass2′ /></p>
<p><b>重复密码2:</b><input name=’repass’ class=’text’ id=’repass2′ /></p>

<p><input type=’submit’ value=’验证’ class=’botton’ id=’b_2′ /></p>
</form>
<p><a href=”http://validator.w3.org/check?uri=referer”><img src=”http://www.w3.org/Icons/valid-xhtml10” alt=”Valid XHTML 1.0 Transitionalheight=”31″ width=”88″ /></a></p>
</div>
</body>
</html>

Ok了, 一点javascript都不需要.更详细的使用方法就需要大家自己发掘了.

附件:vform ver1.3 bulid 20071207

SaBlog-X1.6 -> WordPress 2.2.3 数据完美转移.

因为有很多的朋友向我要 sablog转wordpress 的程序, 但由于我当初写的程序只处理了数据, 而图片缩略图是用acdsee转的, 所以如果大家想进行数据转移可能需要等一阵子, 我有时间会完善一下程序然后发给大家.  - 08.4.19

全自动的转换程序已于昨晚完工, 现在是测试阶段, 预计在这周之内可以发出来. - 08.4.22

转换程序已经发上来了, 地址: http://www.foolbird.net/?p=738 , 最近要换空间, 地址可能会变, 大家可以在标签里找关键字 “转换程序”. - 08.4.24

Sunday, November 18th, 2007

写了2天的代码,终于把数据全转移过来了,但是程序还没有完全完成,生成缩略图是我用ACDSEE完成的.

WordPress真是个好东西,也是个奇怪的东西,我花了整整一天的时间研究它的数据库结构,这种结构让我很难理解,但它的确做到了很多程序做不到的事情,这一点很值得我们学习.

下面来说一说进行转移的具体步骤吧.

1.移动附件

2.生成缩略图

3.导入分类
categories -> category

4.导入附件
attachments -> posts
-> postmeta

5.导入文章
articles -> posts
-> post2cat

6.修改附件所属文章
posts.parent_id

修改文章guid
post.guid

7.导入评论
comments -> comment

8.导入链接
links -> link
-> link2cat

这些全部都做完之后基本上就OK了,就是本站现在这个效果.

程序写完可能会发到网上,这个我还很犹豫,因为我还是很舍不得sablog的,我不希望sablog用户都跑来用wordpress,但无论怎样,如果您需要我的帮助,还是可以联系我的.

揭开网络诈骗的迷雾(8).

一般的骗子在被揭穿或者自己说错话之后都回不做答复或者找很多的理由,当然这个也不例外.

下面以他预测今天大盘为例.

下图是昨日的预测文章.

1.gif

2.jpg

但请大家看今日的上证指数.

3.jpg

明显的是上涨,在往日如果预测正确他就会大肆鼓吹自己的理论,并且写一个昨日预测反馈来证明自己的准确性,但如果预测错误网站上就不做任何解释,然后给员工一些莫名其妙的解释, 因为这些员工根本不懂得股市,所以根本不知道是怎么回事.