2005-12-14-2006-1-14笔记
时间:2006-03-23 来源:gudai
设计企业名录会员制功能2006-01-12 14:06:06 bailing
开发苏州中日企业交流平台。
mambo的先天缺陷,权限控制十分垃圾,基于组的GACL。不够。
开发目标:
1.企业名录展示(中日文双语)。
2.会员管理(中日文双语)。
a.权限管理。基于组和行为和用户的权限控制。
b.会员基本资料维护。
c.会员文件自主管理。
3.会员自助建站系统(中日文双语)。
a.模版管理。
b.文章系统。
c.产品管理。
解决方案:
1.图片管理:
图片路径存数据库,图片管理使用目录控制。
--多层地区的处理。新建地区和企业索引表。检索索引表。
--多重分类的处理。新建分类和企业索引表。检索索引表。
--可以考虑将此两索引表合并。分开可以提高性能。合并可以简化管理程序。
--images涉及到了图片管理问题,图片管理涉及到了严重的权限问题。采用程序对目录控制。
--图片路径单独存放于gallery表,本表里涉及到的图片
--将被单独放在/users/images/会员名/目录下
3.会员系统
a 会员目录/users/members/会员名。
会员文件除了私有文件外都放在users/下面的一些common目录下。包括模版后生成的静态页面。
私有文件放在这里[想不出还有什么私有的]。
b.会员基本信息表不放图片。如果放,则放于/users/images/会员名/目录下。
权限表设计:
权限独立。最终用户的权限=group $g_sec = array(
'components'=>array(
'com_collector'=>array(
'act'=>array(
'category'=>1,
'article'=>1,
'html'=>0
),
'task'=>array(
'show'=>1,
'edit'=>1,
'save'=>1,
'delete'=>1,
'update'=>1,
'sort'=>1,
'publish'=>1
)
),
'com_user'=>array('act'=>array(),'task'=>array())
),
'userDir'=>array(
'images'=>array(),
'files'=>array(
'show'=>1,
'rename'=>1,
'delete'=>1
),
'photos'=>array(),
'htmls'=>array()
),
'groupDir'=>array(
'images'=>array(),
'files'=>array(
'show'=>1,
'rename'=>1,
'delete'=>1,
'type'=>array('userType'=>array('selfOnly','allUsers'),'fileType'=>'txt html htm gif')
),
'photos'=>array(),
'htmls'=>array()
),
'preferences' => array(
'action'=>1,
'template'=>1,
'file'=>1,
'image'=>1
)
);
$s = serialize($sec);
echo $s;
$ar = unserialize($s);
prt($ar);
权限分:
数据库的增删改查[通过组件进行]。
文件的增删改查通过组件进行[不通过组件独立进行[尽量避免]]。
目录的增删改查通过组件进行[不通过组件独立进行[尽量避免]]。
其他额外提供的单一工具功能[暂不考虑]。
用户操作权限分为:
组件权限:[主功能权限。子功能权限]
用户目录权限:文件操作权限[目录权限,目录操作权限]
组目录权限:文件操作权限[目录权限,目录操作权限[目录权限[增删改查],文件操作权限[文件类型,用户类型]]]
对这些分别或延伸的权限进行组合,赋予组或脚色。
用户登录后,数据库session表保存一条记录。其中权限字段存放的是序列化后的权限字符串。
权限检查里将此字符串反序列化。并check。
admin目录通过全局变量控制。
网站目录结构
/(root)
├admin
│ └components
├manage
│ └components
├components
├modules
├users
│├images
││├user1
││├user2
││├user3
││└user4
│├files
││├user1
││├user2
││├user3
││└user4
│├photos
││├user1
││├user2
││├user3
││└user4
│├htmls
││├user1
││├user2
││├user3
││└user4
│└..........
├groups
│├images
││├group1
││├group2
││├group3
││└group4
│├files
││└..........
│├photos
││└..........
│├htmls
││└..........
│└..........
└................
com_act 11110000000000( category ,content,html,............)(从xml配置文档取)
com_task 1111000000(show,edit,publish,sort,......空位留待后来,+0补齐)(从xml配置文档取)
act
14
asc
task
8
desc
category
1
show
1
edit
2
publish
3
content
2
show
1
edit
2
publish
3
html
3
show
1
edit
2
publish
3
哈哈,一直困扰我的位的意思怎么定义被解决了。
用xml做配置映射。呵呵。
组权限表(group_authority)
id type title com_id com_act com_task
889 group 管理组 2 11110000000000 11110000,11010000,11110000,10110000
889 group 管理组 3 11000000000000 11110000,11110000,00000000,00000000
778 group 次管理组 2 11110000000000 11110000,11010000,11110000,10110000
669 user[用户独立] 用户名[如useradmin] 2 11110000000000 11110000,11010000,11110000,10110000
脚色权限表(role_authority)
id type title com_act com_task
77 role 新闻录入者 11110000000000 11110000,11010000,11110000,10110000
78 role 新闻审核者 11000000000000 11110000,11110000,00000000,00000000
99 user useradmin 11000000000000 11110000,11110000,00000000,00000000
组和脚色的组件权限进行位与操作。都一致,或者用户>脚色>组,都通过了,任务才被继续执行。
这样单独检查的原因是:
有些一般的操作赋予组。组是最宽的一层。所有操作必须将用户归为其组方可继续。
脚色检查成功,则继续检查用户,如果定义了用户的行为。那么用户的行为覆盖组和脚色的行为。
自然,检查不通过就返回。
用户权限表[defined是否为用户单独赋予权限]
id group_id role_id
009 889 77
select groupid from user
select * from group_authority where id=groupid or title=username;
select * from role_authority where id = roleid or title=username;
文件权限表
id title pid
洪恩在线造成网速慢2006-01-12 08:44:01 bailing
没人BT以及其他。
发现是因为打开了洪恩在线的原因。
csrss.exe cpu使用64%左右。
greenbrowser.exe cpu使用30%左右。
关掉洪恩。ok了。
寻找一个认证控制的模块[pear->LiveUser.prefManager.SimpleTest.phparticle]2006-1-10 bailing
目标:权限管理明确严格。调用简便。
pear类库
LiveUser
这个类依赖10几个pear类库,不过,差不多了总算配置的差不多了。
看起来验证十分强大,基于xml的验证。
而且example的配置也是十分复杂。
我都不知道这个依赖N多pear类库的验证体系是怎么搞出来的。
也太过于复杂了。
再一次看看苏州[2]。
上午,昨晚没有睡好,眼睛有点涩,头脑有点晕.
category_tree-2005-07-05.tar.gz
这个类的数据结构是大约基于前序或后序的算法的.就是2叉树的结构.
让apache解释php4后缀。
AddType application/x-httpd-php .php .php4
Simple Test for PHP
给php做单元测试。
相关文章:http://www.hsboy.com/blog/archives/90-PHPOESimpleTesta.html
The speed of eval in PHP(zt)
Eval: 1000000 times took 8.6683559417725
Same code not eval: 1000000 times took 0.32248520851135
Eval: 1000000 times took 1.1273620128632
UnitTestCase ,simpleTest里包含这个类,simpleTest可到sourceforge下载。
@include_once $file;
@意思是忽略这个指令产生的错误。
试验prefManager
中文文章找不到。下面是一篇具体的指导
http://www.php-editors.com/pear_manual/p_package.authentication.auth-prefmanager.tutorial.html
这个权限控制类很简单,就是将用户名和行为挂接。行为自然需要自己一个一个的定义了。
有人在phpx.com说过将权限控制和类,function,tables,fields挂接。个人觉得,这样未免,可能会过于复杂了。
自然,也是最全面的权限控制了,如果做到了这一步,可以确信这个系统是稳若泰山了。
phparticle2.0.5最新版开放源代码,这是个好消息。
prefManager将权限分配给行为。单一的分配模式不适合构建一个我满意的完善的认证体系。
上午最后确定了dhtml异域读写cookie的绝对不可能。所以csdn给分助手用javascript来完成是绝对不可能。
发现phpArticle对有的文件还是加了密。
迷茫中........
Excel的自动换行设定。2006-1-10 bailing
选中一列。点设置单元格格式。钩上自动换行。
fread最大可以读取多少?2006-1-10 bailing
最大,当网络流时,读完一个可用包即中止。读完指定长即中止。最后,遇到EOF中止。
所以,别以为指定8192它就肯定返回8192呗。
我用的循环。保证不会触发EOF标记。
$unread = $readlen;
while ($unread>0) {
//echo(" 本次需读取 :".$unread."
\n");
$buf = fread($this->socket, $unread);
$ret .=$buf;
$bufLen = strlen($buf);
$unread -= $bufLen;
$readComplete += $bufLen ;
//echo( "本次读完:".$bufLen." 剩余:".$unread." 共完成:".$readComplete."
\n"); //echot($buf);
$k++;if($k>5)die;
}
正则表达式-换行2006-1-9 bailing
在editplus里多行查找关键的部分是任意字符+换行。
[^\n]*\n
在javascript里。对document.body.innerHTML查找时。可能由于解释会将所有分行写的标签浓缩为1 行。
所以不要在表达式里对回车换行符进行处理,否则,结果为空。
var pattern ="([^ ]*) ";
写csdn给分助手2006-1-7 bailing
今天星期六。
下午4点多我睡了一觉,醒来6点,我吃过饭来公司写csdn给分助手。
发现问题难在取所有回复的id上。要判断回复的id还要过滤作者的id。
1.首先用xmlhttp将数据揭帖的页面取来,乱码。而且直观显示js不能使用。pass。
2.改用iframe。动态改变src。ok。页面也不乱码了。js也能正常执行了。
发现过滤作者自己的回复真tmd让人郁闷。卡住了。用正则表达式呗,这种情况用正则表达式呗。
a.找出作者。
b.找出作者的回复id。
然后问题就该一路顺分了
发现
document.body.innerHTML是body的html字串。
发现
javascript的正则表达式只有三种模式。php里的模式可要多一些。
g (全文查找出现的所有 pattern) i (忽略大小写) m (多行查找)
发现
拒绝访问iframe内嵌的csdn网页。在google找到下面的回复。
不同网站的JS通信
把需要通信的两个页面加上以下语句,domainname相同时就可以通信
document.domain="domainname"
不过你改不了sina的document.domain
如果两个网站你都有权限修改就可以这样做。这是ie的安全特性决定的。
看来只好另寻办法了。
重新拾起1的办法,解决乱码问题。解决.......?
3.从xml文档里获取所有回复,过滤作者回复,重新生成表单。
看来只有办法3是可行的了。决定用这个办法. a very good method。
而且直到今天我都没有用过dom解析xml。
她来了,她有事,我就边写代码边等她。
得解决编码错乱的问题。
先试试用xml,加载xml没有乱码。
更改xsl节点困境。不知道createProcessingInstruction创建了xsl声明后怎么替换原来的xsl声明。
发现
objOldNode = xmlDoc.childNodes.item(1);可以得到xsl节点,xsl节点的名字叫xml-stylesheet。
用这个循环可以得到xsl
test="";
for (i=1;i
//处理oxml的dom
var xmlDoc = oXML.DOMDocument;
var PItext = "type='text/xsl' href='csdn2.xsl'";
var newPI = xmlDoc.createProcessingInstruction("xml-stylesheet", PItext);
//替换xsl节点
xslNode = xmlDoc.childNodes.item(1);
xmlDoc.replaceChild( newPI , xslNode );
//alert(xmlDoc.xml);
接下来是否用这个xsl解析这个xml?解析了在哪显示?
直接用obj.innerHTML= xmlDoc.xml。不行!obj里只有文本被显示出来。复制这些贴到frontpage里。
发现是一些不完全的标签。所以,此方案pass。
只好遍历xml了。遍历过程中生成表单。此方案可行。效率估计很低。
首先取节点内的文本就遇到了问题。
Issue['TopicId']=objNode.childNodes[5].nodeValue;
原来nodeValue并非节点内的文本而是什么未被解析的什么东东。
objNode.childNodes[5].text;就ok了。
childNodes的下标是从0开始的
终于提交了。然而我组合的表单的参数错误。靠,比较下看看。
发现不了问题,改写GB的插件来解决问题。难在了取作者ID上。不取了,虽然正则取到了id。
OK。GB插件Ok了。
http://www.cnblogs.com/Files/gudai/csdnGivTip_2006-1-9.zip
人生2006-1-7 bailing
人生路美梦似路长
路里风霜风霜扑面干
红尘里美梦有几多方向
找痴痴梦幻中心爱
路随人茫茫
人生是美梦与热望
梦里依稀依稀有泪光
何去何从去觅我心中方向
风仿佛在梦中轻叹
路和人茫茫
人间路快乐少年郎
路里崎岖崎岖不见阳光
泥尘里快乐有几多方向
一丝丝梦幻般风雨
路随人茫茫
一丝丝梦幻般风雨
路随人茫茫
[dhtml]在UTF-8编码的页面中xmlhttp用post发送表单2006-1-4 bailing
页面如果是UTF-8码的,并且数据是文本的。
将表单数据连起来直接发送即可,无须用escape编码解码。
2006-01-12 14:08:32发现。IE的高级设置里最后有一个
总是以UTF8发送URL(需要重启动)
//将数据连起来
for (i=0;i
[dhtml]form(i)与form2006-1-4 bailing
ie认识form(i);firefox提示form is not a function
改为form,这下两个都认识了。
apache出错。The requested operation has failed! 2006-1-1 bailing
今天下午1点来公司。发现apache启动不了。弹出这个错误。
上网查了下,原因很多,有的是集成tomcat时出的错。有的是Loadphp时出的错。
想到昨晚走的时候还正常。我将httpd.conf中的php行
LoadModule php5_module D:/www/php505/php5apache2.dll
注释掉,可以启动。去掉
#LoadModule php4_module D:/www/php44/sapi/php4apache2.dll
的注释,不能启动。于是我怀疑问题在php.ini上。
打开Php.ini。我的editplus中集成了这个打开的过程作为一个工具。鼠标点两下就好了。
看到最后多了zend的部分,想起前不久装了zend。于是把它们全部注释掉。
这下可以启动了。
[Zend]
;zend_extension_manager.optimizer_ts="d:\p\Zend\StudioServer\lib\Optimizer-2.5.13"
;zend_extension_ts="d:\p\Zend\StudioServer\lib\ZendExtensionManager.dll"
;zend_extension_manager.debug_server_ts="d:\p\Zend\StudioServer\lib\Debugger-5.0.0"
;studio.install_dir="d:\p\Zend\StudioServer"
;zend_debugger.expose_remotely=allowed_hosts
;zend_gui.ini_modifier="d:\p\Zend\StudioServer\sbin\ini_modifier.exe"
;zend_debugger.deny_hosts=
;zend_gui_password=e9646d086a37906e5bec4323d3b37c9b
;zend_debugger.allow_hosts=172.16.234.0/24
;zend_debugger.allow_tunnel=127.0.0.1/32
;zend_ini_file="d:\p\Zend\StudioServer\etc\zend.ini"
怀疑问题出在zend的序列号是破解的。
或者zend有新版本出现,自动更新了本地的文件。
打开zend studio server。提示
Zend Optimizer not installed
哦,mygod。
有关html4以及DTD定义2005-12-31 bailing
用这个声明
居然在css中无法定义a标签的宽高
加上display:block;就好了。在这个声明下。padding将会和width加在一起成为a标签的实际宽度。虽然IE解释的
界面上a不会超出范围,但是点击a标签,我么可以看到点下的时候虚线是在范围之外的。而这个超出的宽,恰好
等于左右padd之和。在firefox里直接显示超出的宽度。这说明+padd是html4的标准。
fdf
fdf
fdf
在解释中,按display:block解释的话,这会造成a和a之间有一个很宽的距离。原来是后面的造成的。
将它去掉就好了。display:inline的话,则宽高100%都不会被解释。
http://www.moztw.org/docs/gecko/webdevfaq/
要確保 HTML 的「標準」模式啟動,最簡單的方法是使用這種 doctype 宣告:
要確保 HTML 的「近乎標準」模式啟動,最簡單的方法是使用這種 doctype 宣告:
兩種宣告中,前者是給不含任何宣告失效標籤的文件;後者則是給可能含有宣告失效標籤的文件。無論是何者,此
文件都該合乎並通過 CSS2 佈局模組的驗證。
而要啟動 HTML 的「Quirks」模式,最簡單的方法是省略 doctype 宣告。但不管怎樣,我們並不鼓勵建立依賴 quirks
模式的文件。
這種依照 doctype 來辨別佈局模式的方法只適用於標為「text/html」的文件,而 XML 文件則必然會啟動「標準」佈
局模式(標為「application/xhtml+xml」的文件亦同)。這代表一份符合 XHTML 1.0 Transitional 規格並標記為「
text/html」的文件,會因附錄 C 的理由以「近乎標準」模式佈局;而同一份文件,標記為「application/xhtml+xml」
後則會用應有的準則,以「標準」模式對待。
采集器2005-12-31 bailing
功能:
内核
功能按钮(添加删除....)
功能处理
外围
1.管理菜单表。
2.管理类别表。
3.采集定义。
4.连接表。
5.采集规则表。
6.实际内容表。
7.过滤规则表。
修改editplus的html函数模式2005-12-31 bailing
使ctrl+F11可以认识我的这个笔记,注意下面表达式h1中夹的空格需去掉
(^[ \t]*function[ \t].*\([^;]*$)|(^[^=]+=[ \t]*function.*$)|.*
利用header下载并断点续传2005-12-30 bailing
来自
http://bbs.chinaunix.net/viewthread.php?tid=668683&extra=page%3D1
强就一个字。
0 {
$rlen = $len
Table 'phpmyadmin.pma_bookmark' doesn't exist 2005-12-24 bailing
http://www.songzi.org/blog/article.asp?id=41
打开phpmyadmin/scripts/create_table.....sql执行即可。
数据库超过4.1.4+的执行那个....
cms浏览2005-12-24 bailing
今天看看有没有什么合适的简单的企业自助建站系统
目标:权限管理必须强大。功能要简易。
http://down.itbbs.com/Software/View-Software-7477.html
phpcms还可以用来做事业单位或者企业的小型展示性站点。phpcms 2.4 版提供了单网页管理功能,因此可以轻松地
在线创建出公司简介、业务范围、联系方式等一般性公司站点内容,还可以创建公司新闻、技术资料、产品帮助。
织梦网站内容管理系统(DedeCms) V2.1.1 2005-11-15 693KB (有人推荐)
织梦内容管理系统特点:
1、基于PHP+MySQL的技术构建,支持全生成静态文章和文章列表,加速你的网站访问速度,增强搜索引擎优化;
2、强大的后台管理,权限分为网络管理员、频道编辑、信息采编三种,完全适应各种中小型政府网站、个人网站和普通企业网站的应用;...
语言界面:简体中文 授权方式:免费软件 运行平台:Win9x/Me/NT/2000/XP/2003
易采Neat Collector V1.2.1 BETA
源码加密,所以不用,界面还是易用的,看来还不错,用起来utf8数据库资料乱码,既然改不了代码,那就只好
放弃了。
linkcollector-2004-02-22
这是在phpclasses搜到的。莫名其妙的东西。
我还是自己写一个采集器好了。
28. AMFPHP (Flash Remoting for PHP) - An implementation of Flash Remoting for PHP allowing seemless data exchange between PHP and the Flash player.
37. TUTOS - TUTOS is _T_he _U_ltimate _T_eam _O_rganization _S_oftware, a webbased groupware or ERP/CRM/PLM system to manage your and your teams appointments,addresses,projects,tasks,bugs,mailboxes,documents,notes and your time spent with these things (类似办公。管理项目)
38. phpPgAdmin - phpPgAdmin is a fully functional web-based administration utility for a PostgreSQL database server. It handles all the basic functionality as well as some advanced features such as triggers, views and functions (stored procs) (pgsql 管理)
46. SPGM (Simple Picture Gallery Manager) - SPGM is a PHP script that displays photo albums on the web, providing users with very simple procedures as for set up and update. Highly configurable though, it includes several features (such as new pictures highlighting) for a perfect integration. (图片管理)
49. WebCollab - A web-based project management tool for workgroups. Encourage groups and individuals to work collaboratively. This tool aims to be functional and elegant without being complicated or graphically intensive.
(项目管理)
56. phpwcms - phpwcms is a web content management system optimized for fast and easy setup on any standard webserver. phpwcms is perfect for professional, public and private users. It is very easy to learn and gives you the flexibility to separate layout and content. (不知道和国产的phpcms有什么区别)
将loadModule加上模版2005-12-23 bailing
这下好了。以后不用总是打开frontend.php改来改去的了。
直接到/templates/modulebox/下改模版文件了。
调用参数-1.
对应模版文件 box-1.html。
ok。
昨天做好了异步装载数据,今天将数据导入文章。并做好模块调用的模版。
ok。接下来是美工的活了。我已经基本将模版完全解放出来了。
mysql导数据时错误max_allowed_packet2005-12-23 bailing
最大的包默认是1MB
在my.ini中加一行
max_allowed_packet = 8024596 这大概是8MB。
用mysql客户端启动,执行\. sql文件名。ok。2MB的sql数据包共176条记录。1秒就执行完了。
然而错误。重新启动mysql客户端。
执行如下指令
use mambog_corp
\s
set character_set_client=utf8;
set character_set_connection=utf8;
\. D:/web/mambog_corp/sql/2005-12-23/mos_content.sql #注意这里不能有“;”分号,否则错误:2 failed open file
\. D:/web/mambog_corp/sql/2005-12-23/mos_corp_category.sql
这下ok了。没有乱码了。
完整的过程
d:
cd d:\www\MySQL41\bin\
mysql -uroot
use mambog_corp
\s
set character_set_client=utf8;
set character_set_connection=utf8;
\s
\. D:/web/mambog_corp/sql/2005-12-27/mos_content.sql
\. D:/web/mambog_corp/sql/2005-12-23/mos_categories.sql
\. D:/web/mambog_corp/sql/2005-12-23/mos_corp_category.sql
\. D:/web/mambog_corp/sql/2005-12-23/mos_corp_pagetitle.sql
\. D:/web/mambog_corp/sql/2006-02-10/mambog_corp_server.sql
用程序导入:耗时12秒,用mysql客户端导入,总计不到1秒。
最长的过程执行时间0.2秒,发生在mos_content表插入记录时(2MB的数据176条记录)。
\. D:\web\mambog_corp\tmp\cateToContent.sql
\. D:/docs/sql/2006-01-09/mambog_corp.sql
Packet too large错误
当一个MySQL客户或mysqld服务器得到一个比max_allowed_packet个字节长的包,
它发出一个Packet too large错误并终止连接
如果你正在使用mysql客户,你可以通过用mysql --set-variable=max_allowed_packet=8M指定一个更大的缓冲区来启动客户程序。
如果你正在使用不允许你指定最大包大小的其他客户(例如 DBI),你需要在你启动服务器时设置包大小。你可以使用mysqld的命令行选项设置max_allowed_packet为一个更大的尺寸。例如,如果你正期望将一个全长的BLOB存入一张表中,你将需要用--set-variable=max_allowed_packet=24M选项来启动服务器。
建库。
CREATE DATABASE `mambog_corp` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
参考文章:
使用MySQL时的一些常见错误
http://www.ddvip.net/web/php/index7/3.htm
ajax通信在mambo中应用2005-12-22 bailing
修改frontend.php
增加几个服务器端生成客户端js脚本的函数。
服务器端生成这个模块的html盒子,具体内容由客户端的xmlhttp请求该模块(如:mod_articleList.php)
再填到盒子里。由于此次请求模块需要独立担当取数据的任务,所以。在模块中必须保证独立性。
我新建了一个文件,用来处理环境问题。每个ajax模块中都包含了这个文件。ajaxHead.php
define( '_VALID_MOS', 1 );
require_once("../configuration.php");
require_once("../includes/database.php");
require_once("../includes/mambo.php");
$database = new database( $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db,$mosConfig_dbprefix );
异步调用是因为从网络上第一次抓数据耗时比较长,所以采用ajax技术。
发现应用同一个对象对服务器请求,失败了。
应用FCKXML类,ok。每次请求都得重新申明一个对象。
我估计是因为此对象已经打开了。资源不能再被使用。
[url=telnet:abcd:123@xvl%201520]html telnet[/url]
async: 一个布尔标识,说明请求是否为异步的。如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作
重装系统后的善后事宜2005-12-20 bailing
1.安装咖啡防病毒。v8.0.
2.设置防火墙。
当通过MMC控制台中的Computer Management(计算机管理)、Disk Management(磁盘管理)等组件远程管理程序来管理局域网上的其他计算机,计算机必须开放TCP 445端口。
命令
netsh firewall set portopening TCP 445 TCP445 ENABLE
3.重新安装声音驱动。
右键点我的电脑-〉硬件-〉设备管理器-〉声音视频和游戏控制器-〉c-media ac97 audio->更新设备驱动程序
-〉否,暂时不-〉指定位置或列表安装-〉不要搜索,我自己选择安装程序-〉显示兼容硬件-〉
选择RealTek ac97 audio->
OK
msn不能登陆2005-12-21 bailing
msn不能登陆,工具-〉选项-〉连接-〉测试疑难解答
发现代理服务器前是个对。
打开ie-〉internet选项-〉连接-〉局域网设置,发现代理服务器下被打了勾。去掉就好了。
这说明可能此机子被人装过木马。
php绘制曲线图类浏览2005-12-20 bailing
共三个。
panachart。
kakapowu()推荐的,jpgraph有API手册的,自己看就会了.推荐panachart,很小巧的php绘图类
http://sourceforge.net/project/showfiles.php?group_id=92637&release_id=215007
jpgraph。
唠叨说太烦(从来就不用jpgraph,太费事了)
http://www.aditus.nu/jpgraph/jpdownload.php
FusionCharts
feyge(菲戈@http://spaces.msn.com/members/feyge/)推荐的
还有一个是FLASH+XML的,支持任何语言,比jpgrapch要易用
http://www.infosoftglobal.com/FusionCharts/LiveDemos.asp?gMenuItemId=4
重做系统笔记2005-12-19 bailing
要重做系统。列出需要备份的清单先。
1.备份收藏夹。
2.备份电子邮件
3.备份movie和music
4.winscp和ssh client的配置文件
5.cuteftp的配置文件
6.共享文档
ok,我觉得可以了
1.打开ie->文件-〉导入导出向导-〉导出收藏夹
2.打开outlookexpress->工具-〉账户-〉分别将几个账号导出。
OE-〉工具-〉选项-〉维护-〉存储文件夹。将文件夹改为其他盘的位置。
OE->文件-〉导出-〉通讯簿。
3.本地磁盘放不下。
net use \\develop-2\NETLOGON /del
net use \\develop-2\sharedocs /del
net use \\develop-2\SYSVOL /del
net use z: \\develop-2\sharedocs "%2" /user:"%1"
::net use z: \\IP\c$ "密码" /user:"用户名"
4.不能通过程序自己备份,不过我是装在非系统盘d:\p目录下。
C:\Documents and Settings\w\Application Data\SSH下面放的该是配置文件。
winscp的就找不到了。
5.cuteftp->tools->site manager->export sites as text files
6.这也要备份?不备份
ok
----------
忘记备份:hosts表
忘记备份:注册表之打开文件对话框。
忘记备份:root.txt
需要备份系统环境变量:mysql/bin
------------
决定用ghostxp sp2来搞。c盘大概就不用格式化了,果然不用,选择磁盘的时候可要万分小心那,选错了就完了。
ghostxp没有显卡驱动。
1。找来光盘装显卡驱动。
2。装输入法微软拼音2003,不需要重启。
3。右键点击我的电脑,找到资源管理器常见任务勾上。
4。重新注册editplus。导出HKEYM/software/ES-computing键,我看到里面有editplus.
5。重新设置网卡。计算机名,工作组等。
6。将我的文档所在的位置移动到d:\docs。
7.将winrar快捷方式拖到桌面.
8.哭,cuteftp导出的csv文件,现在导入居然问我要密码。
9.安装mysql manager lite
10.还原outlook express的配置。进入工具-〉选项-〉维护-〉导入,选路径,问是否使用,是。千万别选否。
同理导入账号,很顺利。ok.
11。打开ie->文件-〉导入导出向导-〉导入收藏夹-〉成功
12。用硬件精灵监测到音频设备是AC97的。
多媒体音频控制器
OEM Device from Elitegroup Computer Sys
Chip: Intel Corporation 82801DB AC'97 Audio Controller (ICH4 B0 step)
于是打开光盘,安装驱动。
靠 f:\sound\ON_BOARD_SOUND目录下居然有7个子目录。分别是
AD188X,ALC655,CM973x,VIA-ALC,VIA-ALC655,VT1616,VT1616A。
我装了CM973x,不知道行不行。察看硬件管理器,c-media ac97 audio device 前面打了一个!
13。安装金山词霸46MB的。这个版本没有那个176MB的好。
14.。重新注册apache/mysql服务。由于之前作过批处理脚本。这次运行下就貌似ok了。不过配置文件php.ini是旧的。
15.糟糕。忘记了备份hosts表。
16.建立批处理配置网卡。
也可以注册表
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\{FBD72F8D-6334-4739-957A-7D324D9C27EF}\Parameters\Tcpip
来改动
http://www.microsoft.com/china/MSDN/library/Mobility/embedded/WorkWithNetshInWinXPEmb.mspx
更多http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/netsh.mspx
给它加上%1参数,你就可以给整个局域网配置网卡了。
ipconfig.bat
set eth="本地连接"
set ip=172.16.234.213
set mask=255.255.0.0
set gw=172.16.234.1
set dns=61.177.7.1
set dns2=202.102.13.141
::更改ip
netsh interface ip show address
netsh interface ip set address %eth% static %ip% %mask% %gw% 1
::更改dns
netsh interface ip set dns %eth% static %dns% primary
netsh interface ip add dns %eth% %dns2% 2
ipconfig /all
17.安装Ad-Aware.SE,发现桌面上多了个Huntersoft Free Download的链接。可能是硬件精灵自带的。果然是。
ad-aware也没法。毕竟硬件精灵是免费的。
18.拷贝VGA驱动和SOUND驱动
19.将d:\tech快捷方式拖入任务栏边上.
20.安装jdk到D盘。装时选了独立JRE。现在eclipse无需指定jvm路径了。jushed.exe是Sun公司计划任务升级程序。
减肥做镜像
21.c盘的目录大小如下。
program files:350MB
document and settings 107MB
windows 1.38GB
pagefile.sys 774MB 将临时文件设置到E: 512MB
C:\WINDOWS\Driver Cache\i386 : dirver.cab : 66MB 删除
sp2.cab : 18MB 删除
C:\WINDOWS\system32\dllcache : 435MB 删除
C:\WINDOWS\ime 输入法目录
IMKR6_1 韩文 10MB 删除时提示无法删除。
IMJP8_1 日文 63MB 删除时提示无法删除。
执行 sfc.exe /purgecache
现在c:\windows 899MB
删除C:\Documents and Settings\w\Local Settings\Application Data\{32A3A4F2-B792-11D6-A78A-00B0D0150040}
这下面放了安装JDK时临时释放的57MB的MSI安装包。
现在 C:\Documents and Settings\ 41MB
c: 2GB
安装 vfloppy
重新启动计算机。
JDK自动更新。输入法还是删不掉。C:1.29GB
windows自动更新。
c:1.34GB
C:\Program Files 422MB
C:\WINDOWS 900MB
C:\Documents and Settings 42MB
ok,完工,kr/jp输入法删不掉就算了,不过80MB
装了补丁后,c:windows : 1GB
没有进行的操作
1.关闭系统文件保护http://www.people.com.cn/GB/it/2775763.html
警告:这样修改之后可以直接删除Windows的关键文件。(还是不要操作了)
默认状态下系统禁止用户删除系统和程序文件,经过修改注册表可以彻底解除这个限制。打开注册表找到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 中的SFCDisable,把它的值
改为0xFFFFFF9D, 如果要用文件保护,重新把它值改为0就行了
2.sfc命令http://searchwindowssecurity.techtarget.com.cn/tips/450/2173950.shtml
/SCANNOW选项通知SFC立即扫描所有受保护的系统文件。如果在扫描过程中发现一个错误的文件版本,这个错
误的版本将被替换为微软正确的版本。当然,这意味着你可能必须有Windows安装CD,最新的服务包或者升级补丁
/SCANONCE参数通知WFP在系统下次启动的时候扫描受保护的系统文件。在扫描过程中,任何错误的文件将被正
确的版本替换。正如这个参数名的意思,这个扫描只进行一次。之后的系统启动将恢复正常,SFC不再运行。
/SCANBOOT参数和/SCANONCE选项类似。区别在于SCANONCE只在Windows下次启动时扫描受保护的文件,而
SCANBOOT参数则在Windows每次启动时都扫描系统文件。如果需要,这两个参数将替换错误的系统文件,这可能需
要你提供正确文件版本的拷贝。
/REVERT选项用来关闭SFC,例如,假设你使用SCANBOOT选项在每次系统启动的时候扫描所以保护的文件。正如你所能想到的,这确实会增加计算机启动的总时间。最后,你可能厌倦了漫长的启动时间,想关闭SFC。只需要简单的使用SFC /REVERT,就可以在启动的时候关闭SFC。
Windows XP减肥十大酷招
http://pc.zol.com.cn/2003/1231/80658.shtml
包含文件的自身的编码导致乱码2005-12-19 bailing
a.php里有
require_once('b.php');
a.php的编码是ansi
b.php的编码是utf-8,b.php有个函数返回一个含utf-8编码的字串,被a输出。结果输出乱码
将a另存为utf8码就ok了。如果a全由ascii字符组成,在editplus里的另存是没有效果的。
解决办法是在a里写一个注释的汉字。
在WIN2000/xp/2003 中如何注册一个新的系统服务?2005-12-18 bailing
来自itpub
http://www.itpub.net/258194.html
下面的是删除。删除项在项的前面加 - 号。删除键在键的后面存放值的位置加 - 号。
[-HKEY_LOCAL_MACHINE\Software\Test] //删除项
[HKEY_LOCAL_MACHINE\Software\Test]
"TestValue"=- //删除健
写过注册表,需要重新启动计算机才有效。
tmd我机子上的xp居然是破解不完善的版本,听高手说是英文或俄文的汉化版,sp2装不上,vs2005也就不能用。
IE还老是mshtml.dll崩溃。自动更新也更新不了。putty也用不了。iis也不能用。真是tmd早就该换系统了。
然而重装系统,那么多配置好的软件又得重新配置一遍。唉。记得上次将james成功配置为系统服务
这次将run.bat设置为服务居然不行了。晕。wrapper.exe可以,失败的原因可能是JVM的路径不对。另外
eclipse也不能正常启动,除非指明java路径。
配置管理器 指定的设备实例句柄和目前的不一致,这个错误是服务项下的enum子项引起的,删除就Ok了。
(ZT)现在添加系统服务的工具很多,最典型的就是netservice。但是我们这里讲的是手工添加系统服务,所以工具的使用不在本文的讨论范围之内。
现在很多的木马、后门、蠕虫病毒都是通过修改注册表中的RUN键值来实现自启动。
但是这种自启动模式不是很隐蔽的,稍微懂点安全的人,一般发现电脑被黑,都会查看RUN键值的。
于是系统服务便成为了一种相对隐蔽的自启动模式。比如冲击波杀手就采用系统服务来自启动病毒程序
现在添加系统服务的工具很多,最典型的就是netservice。但是我们这里讲的是手工添加系统服务,所以工具的使用不在本文的讨论范围之内。
WINDOWS里的很多东西都是跟注册表息息相关的,系统服务也不例外。
系统服务跟以下的注册表几个项目相关:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services
我们完全可以找到在系统服务中已注册的服务的键值来依样画葫芦。
在以上任何注册表列中添加一个新项:
名字是你想要添加系统服务的名字,比如Backdoor。
在BACKDOOR项下新建一个字符串,数值名称Displayname 数值数据为要添加服务的
名称Backdoor。
下面列出一个表,会直观一些:
名称 类型 数据 备注
Displayname REG_SZ 想要添加服务的名称 想要添加服务的名称
Description REG_SZ 服务的描述 服务的描述
ImagePath REG EXPAND SZ 程序的路径
Start REG_DWORD 0,2,3,4 2代表自动启动,3代表手动启动服务.4代表禁用服务,0代表系统对底层设备驱动(一般不需要这个)
ErrorControl REG_DWORD 1
Type REG_DWORD 10 or 20 一般应用程序都是10,其他的对应20
ObjectName REG_SZ LocalSystem 显示本地登陆
补充 在2000里面 REG EXPAND SZ是可以用regedt32来添加的 同时 服务程序不同于普通的应用程序 不是每个程序都可以加到服务里
Windows中的网络组件2005-12-17 bailing
网络邻居不能访问。
组策略,安全策略,拒绝从网络访问此计算机里有guest。去掉就好了。这个可能是kaspersky给加上去的。
网络邻居不能访问,弹出错误【此工作组的服务器列表当前无法使用】。
解决XP专业版局域网访问故障十八招
http://goldfish.blogbus.com/logs/2005/03/1038468.html
三、我的电脑→工具→文件夹选项→查看→去掉“使用简单文件共享(推荐)”前的勾;
http://www.microsoft.com/china/windows2000/guide/server/features/comlist.asp#heading2
Windows在网络应用方面提供了许多核心组件,包括由安装程序自动安装的许多管理工具以及许多附加的组件供用户选择安装,以扩展Windows的网络功能。这些组件可分为3大类:客户、服务和协议,它们可以在安装时添加,也可以在安装以后添加。
1. 客户
客户组件可以提供对计算机和连接到网络上的文件的访问。Windows中提供了两种客户类型:
Microsoft 网络客户端:此客户组件允许用户的计算机访问Microsoft网络上的资源。
NetWare客户端服务:允许这台计算机登录到NetWare服务器并且访问它们的资源。
2. 服务
服务组件为用户提供了其他的一些功能,例如文件和打印机共享,连接其他类型的网络等。安装服务组件之后,可向网络中的其他用户提供相应的服务。Windows中提供的服务组件功能如下:
Microsoft 网络的文件和打印机服务:允许其他计算机用Microsoft网络访问用户计算机上的资源。
QoS数据包计划程序:即质量服务数据包计划程序。该组件提供网络交通控制,包括流量率和优先级服务。
SAP代理程序:即服务公布协议(SAP)公布网络上的服务器和地址。
IPX的RIP和SAP
RIP和服务广告协议(简称SAP)广泛地应用于NetWare (IPX)中小型网络环境种。这些路由选择协议允许混合网络环境之间进行互操作。
3. 协议
通信协议是用户使用的计算机与其他计算机通信的语言,它规定了计算机之间传送数据的规则,并定义了计算机之间互相沟通的方法。在Windows中提供支持的各协议基本功能如下:
1.NetBEUI协议
■NetBEUI通信协议的特点。NetBEUI(NetBIOS Extended User Interface,用户扩展接口)由IBM于1985年开发完成,它是一种体积小、效率高、速度快的通信协议。NetBEUI也是微软最钟爱的一种通信协议,所以它被称为微软所有产品中通信协议的“母语”。微软在其早期产品,如DOS、LAN Manager、Windows 3.x和Windows for Workgroup中主要选择NetBEUI作为自己的通信协议。在微软如今的主流产品,如Windows 95/98和Windows NT中,NetBEUI已成为其固有的缺省协议。有人将WinNT定位为低端网络服务器操作系统,这与微软的产品过于依赖NetBEUI有直接的关系。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的,它不具有跨网段工作的功能,即NetBEUI不具备路由功能。如果你在一个服务器上安装了多块网卡,或要采用路由器等设备进行两个局域网的互联时,将不能使用NetBEUI通信协议。否则,与不同网卡(每一块网卡连接一个网段)相连的设备之间,以及不同的局域网之间将无法进行通信。
虽然NetBEUI存在许多不尽人意的地方,但它也具有其他协议所不具备的优点。在三种通信协议中,NetBEUI占用内存最少,在网络中基本不需要任何配置。尤其在微软产品几乎独占PC操作系统的今天,它很适合于广大的网络初学者使用。
■NetBEUI与NetBIOS之间的关系。细心的读者可能已经发现,NetBEUI中包含一个网络接口标准NetBIOS。NetBIOS(Network Basic Input/Output System,网络基本输入/输出系统)是IBM在1983年开发的一套用于实现PC间相互通信的标准,其目的是开发一种仅仅在小型局域网上使用的通信规范。该网络由PC组成,最大用户数不超过30个,其特点是突出一个“小”字。后来,IBM发现NetBIOS存在的许多缺陷,所以于1985年对其进行了改进,推出了NetBEUI通信协议。随即,微软将NetBEUI作为其客户机/服务器网络系统的基本通信协议,并进一步进行了扩充和完善。最有代表性的是在NetBEUI中增加了叫做SMB(Server Message Blocks,服务器消息块)的组成部分,以降低网络的通信堵塞。为此,有时将NetBEUI协议也称为“SMB协议”。
人们常将NetBIOS和NetBEUI混淆起来,其实NetBIOS只能算是一个网络应用程序的接口规范,是NetBEUI的基础,它不具有严格的通信协议功能。而NetBEUI是建立在NetBIOS基础之上的一个网络传输协议。
2.IPX/SPX及其兼容协议
■IPX/SPX通信协议的特点。IPX/SPX(Internetwork Packet eXchange/Sequences Packet eXchange,网际包交换/顺序包交换)是Novell公司的通信协议集。与NetBEUI的明显区别是,IPX/SPX显得比较庞大,在复杂环境下具有很强的适应性。因为,IPX/SPX在设计一开始就考虑了多网段的问题,具有强大的路由功能,适合于大型网络使用。当用户端接入NetWare服务器时,IPX/SPX及其兼容协议是最好的选择。但在非Novell网络环境中,一般不使用IPX/SPX。尤其在Windows NT网络和由Windows 95/98组成的对等网中,无法直接使用IPX/SPX通信协议。
■IPX/SPX协议的工作方式。IPX/SPX及其兼容协议不需要任何配置,它可通过“网络地址”来识别自己的身份。Novell网络中的网络地址由两部分组成:标明物理网段的“网络ID”和标明特殊设备的“节点ID”。其中网络ID集中在NetWare服务器或路由器中,节点ID即为每个网卡的ID号(网卡卡号)。所有的网络ID和节点ID都是一个独一无二的“内部IPX地址”。正是由于网络地址的唯一性,才使IPX/SPX具有较强的路由功能。
在IPX/SPX协议中,IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据是否传输成功,也不提供纠错服务。IPX在负责数据传送时,如果接收节点在同一网段内,就直接按该节点的ID将数据传给它;如果接收节点是远程的(不在同一网段内,或位于不同的局域网中),数据将交给NetWare服务器或路由器中的网络ID,继续数据的下一步传输。SPX在整个协议中负责对所传输的数据进行无差错处理,所以我们将IPX/SPX也叫做“Novell的协议集”。
■NWLink通信协议。Windows NT中提供了两个IPX/SPX的兼容协议:“NWLink SPX/SPX兼容协议”和“NWLink NetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它在继承IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。Windows NT网络和Windows 95/98的用户,可以利用NWLink协议获得NetWare服务器的服务。如果你的网络从Novell环境转向微软平台,或两种平台共存时,NWLink通信协议是最好的选择。不过在使用NWLink协议时,其中“NWLink IPX/SPX兼容协议”类似于Windows 95/98中的“IPX/SPX兼容协议”,它只能作为客户端的协议实现对NetWare服务器的访问,离开了NetWare服务器,此兼容协议将失去作用;而“NWLink NetBIOS”协议不但可在NetWare服务器与Windows NT之间传递信息,而且能够用于Windows NT、Windows 95/98相互之间任意通信。
3■
Internet协议(TCP/IP):TCP/IP表示传输控制协议/互连协议,它是为广域网设计的一套工业标准协议。它能为用户提供跨越多种互联网络的通信。Windows TCP/IP允许用户与任何运行TCP/IP的机器一起连接到Internet,并且提供TCP/IP服务。虽然TCP/IP很灵活且可以用于几乎任何需要传输协议的环境,但是TCP/IP的正确管理相对而言仍较困难,而且比IPX和NetBEUI速度慢。
javascript学习(ajax框架之openRico)2005-12-17 bailing
今天要把openRico的accordion应用到实际。
首先将网站上的demo搞下来。(察看源文件)
对这个文件用frontpage打开。在设计模式下将无关的部分,删。
修改js和css的路径。
ok。现在开始调试。
new Rico.Accordion( 'accordionExample', {panelHeight:127,collapsedBg:'#FF0'} );
发现怎么改css都不能改变盒子的头部背景。打开rico.js查看怎么回事。
发现了这里是设置属性的地方
setOptions: function(options) {
this.options = {
expandedBg : '#63699c',
hoverBg : '#63699c',
collapsedBg : '#6b79a5',
expandedTextColor : '#ffffff',
expandedFontWeight : 'bold',
hoverTextColor : '#ffffff',
collapsedTextColor : '#ced7ef',
collapsedFontWeight : 'normal',
hoverTextColor : '#ffffff',
borderColor : '#1f669b',
panelHeight : 200,
onHideTab : null,
onShowTab : null
}.extend(options || {});
},
这个东西我没见过。extend方法是prototype.js里提供的,打开一看。没什么,
将彼对象的属性值赋予此对象同名属性而已。
然而,这个结构this.options让我迷惑,这?
最后领悟到这个对象就是这样。逗号隔开的是属性。冒号:隔开的是属性值。
靠,知道怎么传递参数了。
new Rico.Accordion( 'accordionExample', {panelHeight:127,collapsedBg:'#FF0'} );
ok
php压缩类(archive,支持TAR/GZIP/BZIP2/ZIP),使用方便,一个文件2005-12-16 bailing
来自http://phpclasses.dev.skypp.com/browse/package/945.html
需要注册并通过邮件确认才能下载,不过.注册很简单,就填几个框子.
//用法示范
//利用archive打包
//包含这个类文件
require_once("zipArchive/archive.php");
$test = new zip_file( $zipFileName );
// Create archive in disk
$test->set_options(
array(
'basedir' => dirname($modpath),
'inmemory' => 0, //不在内存压缩.而是直接存放到磁盘.如果要压缩下载,则可以选择为1
'recurse' => 1, //是否压缩子目录,resurse,递归的意思?
'storepaths' => 1, //是否存储目录结构,我选是。
'overwrite' => 1, //是否覆盖
'level' => 5 ,//压缩比
'name' => $zipFileName, //压缩最后生成的文件名,无需再次设置。这里是为了解说方便才放上来的。
'prepend' => "", //未知
'followlinks' => 0, //未知
'method' => 1, //未知
'sfx' => "", //不知道什么意思
'type' => "zip", //是zip还是tar...,无需设置,这里为了方便解说。放上来。
'comment' => ""
)
);
// Add files to archive,args can be array or a filename,and support *.*,but all files must be under the basedir
$files = array($module_name.".php",$module_name.".xml","templates/".$module_name.".html");
//可以将文件名单独列出来加进去,但是文件名必须在basedir下,文件名支持*.*表示压缩全部。
//$test->add_files($files); //加$files数组里的文件名
$test->add_files("diruti"); //加目录diruti,如果diruti是文件,那么就是加文件。
//$test->add_files(array("images/*.jp*g", "images/*.gif"));
// Store all exe files in bin without compression
//不压缩存储
//$test->store_files("bin/*.exe");
// 正式写入磁盘
$test->create_archive();
// Send archive to user for download
//如果是选择了在内存中创建,这里提供下载。
//$test->download_file();
关于直接发邮件,不通过该死的smtp server2005-12-15 bailing
昨晚想了下。
[x叉]或许可以mail server是监听在110端口,不仅负责把邮件送出去。而且负责收新邮件。
监听在25号端口。通过dns服务器查mx出@后面的ip地址。
通过socket根据smtp协议进行邮件的收发。
pear.php.net有现成的类库。不过我的实验失败了。经过老长时间的等待。最后。还是没收到。
mysql命令使用数据的导入导出2005-12-14 bailing
导出。
mysqldump --help >>help_dump.txt
mysqldump -hlocalhost -uroot mambog_corp > mambog_corp.sql -fe
导入数据(并非执行sql,所以下面的语句注定失败,执行sql的步骤)
mysqlimport -hlocalhost -uroot mambog_corp mambog_corp.sql -f
执行sql 脚本文件。
mysql -uroot
>\. mambog_corp.sql;
ok了。
如果出现不能建表的错误。(errono:121)。
检查该表的类型,建议将type修改为MyISM看看。我的InooDB的表就报错,改了就好了。
此处的脚本文件居然从phpmyadmin导出的,用这个方法导入却一团乱码。
因为mysql客户端要设置下编码为utf8,在客户端下敲入如下命令
set character_set_client=utf8;
set character_set_connection=utf8;
安装nanoweb笔记2005-12-12 bailing
http://nanoweb.si.kz
这个服务器纯粹用php编写。
安装不复杂。install.bat。然后修改安装根下c:\nanoweb\nanostart.bat中的php为你的php cli程序所在的路径即可。
我的cli php在 D:\www\php44\cli\php.exe
我的start.bat脚本
@ECHO OFF
SET INSTROOT=c:\nanoweb
SET PARSERROOT=d:\www\php44\cli
d:\www\php44\cli\php.exe -c d:\www\php44\cli\php.ini c:\nanoweb\nanoweb.php --config=c:\nanoweb\nanoweb.conf
关于php命令行的使用问题可以参考php手册。执行php -h也可以获得帮助。
目前改变nanoweb的安装路径的问题还是个很复杂的问题。至少我就在这上面失败了。
nanoweb似乎可以在路由器等环境局促的情况下使用,可能会有人用它来解释php,从而使这些硬件
通过web管理的程序可以用php来编写,而替代传统的cgi方式。
在我的机子上安装后的nanoweb整个目录大小为473KB,加上php.exe和php.ini是500kB。
。占用空间664KB。如果考虑到再将需要的php4ts.dll(1.37MB)加进来。那么就超过了2MB。
关于http通信的学习2005-12-03 bailing
这几天在研究怎么解决反复fputs和fgets配套的问题。旧有的while(!feof)不行。
关于如下响应的解释
HTTP/1.1 200 OK
Date: Sat, 03 Dec 2005 02:44:53 GMT
Server: Apache/2.0.54 (Win32) PHP/5.0.5
X-Powered-By: PHP/5.0.5
Set-Cookie: ASP.NET_SessionId=y1cuxi45u1d0tgvkd1d1cbnh
Set-Cookie: PHPSESSID=ef73d9cfe4c93aa79a09b9fc109b53ca; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
Content-Language: UTF-8
2e73
来自c++faq对io的解释
http://www.sunistudio.com/cppfaq/input-output.html
[15.4] 为何我的输入处理会超过文件末尾?
[Recently changed so it uses new-style headers and the std:: syntax (on 7/00). Click here to go to the next FAQ in the "chain" of recent changes.]
因为只有在试图超过文件末尾后,eof标记才会被设置。也就是,在从文件读最后一个字节时,还没有设置 eof 标记。例如,假设输入流映射到键盘——在这种情况下,理论上来说,C++库不可能预知到用户所键入的字符是否是最后一个字符。
问题解决了。我写了8个函数解决了问题。
2005-12-08 16:57:47,终于发现了为什么服务器不返回302 found,而总是直接转到了200 ok.
经过用ultra compare对两个post表单的比较,发现有一点不同.
经过apache的表单。 QT:bQuery_y = 10.
经过smart HTTP debug截获的表单 QT:bQuery.y = 10.
由于php把QT:bQuery.y认作了QT:bQuery_y所以我一直以来提交的表单都是错误的。晕。
不过,由于我为了解决这个问题,学会了用sniffer pro看截获的tcp通信的报文,重新复习了tcp/ip四层协议。
并完全解决了多次fread的问题。可以说是意外的得益远大于这个小问题的解决了。
s修正符和m修正符2005-12-14 bailing
正则
preg_replace里用的pattern。
加不加\效果都一样
1:$reg = "/MySQL中文参考手册-(.*)/i";
2:$reg = "/MySQL中文参考手册\-(.*)/i";
这个正则可以在editplus中查到一块文字 ^.*\n
因为^后,则忽略\r\n标记,否则默认的是\r\n即停。
s修正符可以忽略\r\n标记。
#.*? #s
m符,多行查找模式。在这里可以用^表示行首
#^.*$#m
chm制作工具一览2005-12-14 bailing
quick chm
这个工具对目录重新排序,结果1,11,10都排到了一起。
而且不稀罕它的html编辑器功能,用editplus不好么,这个功能鸡肋,还影响速度。
这个工具的响应速度真的很慢。
新建工程居然只能在要编辑的目录下面。狂晕,加文件,文件夹也只能限制在本目录下。
visual chm
这个工具是英文的。然而编辑中文并不乱码。
操作界面不太友好。
easy chm
很不错的工具。
e书工场(eBook Workshop) V1.4
从它的介绍来看,制作exe格式电子书,支持加密。
unEbookWorkshop
添加时间:2005-7-17 10:15:14
更新时间:2005-7-17 10:15:14
是专门用来反编译 ebook Workshop( e书工场 )制作的EXE电子书源文件的工具软件(E书反编译工具),
unEbookEdit V1.64
添加时间:2003-7-31 15:20:00
更新时间:2003-7-31 15:20:00
目前唯一一款专门用来反编译用软件ebookeditpro制作的exe电子书源文件的工具软件(e书反编译工具)
E书伴侣(unWC) V1.89 Build 921
添加时间:2003-4-28
更新时间:2003-4-28
E书伴侣”(unWC)是一款专门用来释放用软件webcompiler制作的EXE电子书源文件的工具软件
chm2web
用来将电子书发布到网页上再合适不过了。超级强大,可惜兼容性不好,。
对mysql手册反编译,
easy chm /
quick chm/
PowerCHM v5.1 Build 0825 汉化版/
chm encoder
chm decompiler
电子文档处理器
都失败了,没有保留目录信息
CHM2HTML Pilot 成功反编译
converts CHM documents into a set of HTML files.
没有试验的是e书工场和visual chm
chm2word 挺不错。
Pocket CHM Pro用来制作pda阅读的chm文档,界面上看起来功能强大,不能正确获取目录信息。
问题已经解决了。
开始我反编译mysql中文手册得到了一个目录,目录下文件结构如下
mysqlcn-->
-->.....htm 所有的htm文件
---> property.hhc
-->image 目录
本意是用easychm将这个目录导入,重新制作带搜索的chm,因为原chm不支持搜索。然而导入了,原来的目录结构
却丢失了。就是说easychm并没有处理目录表文件 property.hhc.所以我抓狂了。换了10来种chm制作工具,都不处理
这个hhc文件。
今天早上2005-11-17也就是刚才,我去下载 Microsoft HTML Help Workshop,我想了解下这个被几乎所有chm制作工具都提到的工具。
我想这个工具可能包括手工选择目录表的功能吧。因为其他软件大多在介绍中说自己将Microsoft HTML Help Workshop
的功能集成为自动化过程。我不要自动化,自动化不认识hhc,没想到问题就解决了。
Microsoft HTML Help Workshop下载地址:
http://www.onlinedown.net/soft/33431.htm
开发苏州中日企业交流平台。
mambo的先天缺陷,权限控制十分垃圾,基于组的GACL。不够。
开发目标:
1.企业名录展示(中日文双语)。
2.会员管理(中日文双语)。
a.权限管理。基于组和行为和用户的权限控制。
b.会员基本资料维护。
c.会员文件自主管理。
3.会员自助建站系统(中日文双语)。
a.模版管理。
b.文章系统。
c.产品管理。
解决方案:
1.图片管理:
图片路径存数据库,图片管理使用目录控制。
--多层地区的处理。新建地区和企业索引表。检索索引表。
--多重分类的处理。新建分类和企业索引表。检索索引表。
--可以考虑将此两索引表合并。分开可以提高性能。合并可以简化管理程序。
--images涉及到了图片管理问题,图片管理涉及到了严重的权限问题。采用程序对目录控制。
--图片路径单独存放于gallery表,本表里涉及到的图片
--将被单独放在/users/images/会员名/目录下
3.会员系统
a 会员目录/users/members/会员名。
会员文件除了私有文件外都放在users/下面的一些common目录下。包括模版后生成的静态页面。
私有文件放在这里[想不出还有什么私有的]。
b.会员基本信息表不放图片。如果放,则放于/users/images/会员名/目录下。
权限表设计:
权限独立。最终用户的权限=group $g_sec = array(
'components'=>array(
'com_collector'=>array(
'act'=>array(
'category'=>1,
'article'=>1,
'html'=>0
),
'task'=>array(
'show'=>1,
'edit'=>1,
'save'=>1,
'delete'=>1,
'update'=>1,
'sort'=>1,
'publish'=>1
)
),
'com_user'=>array('act'=>array(),'task'=>array())
),
'userDir'=>array(
'images'=>array(),
'files'=>array(
'show'=>1,
'rename'=>1,
'delete'=>1
),
'photos'=>array(),
'htmls'=>array()
),
'groupDir'=>array(
'images'=>array(),
'files'=>array(
'show'=>1,
'rename'=>1,
'delete'=>1,
'type'=>array('userType'=>array('selfOnly','allUsers'),'fileType'=>'txt html htm gif')
),
'photos'=>array(),
'htmls'=>array()
),
'preferences' => array(
'action'=>1,
'template'=>1,
'file'=>1,
'image'=>1
)
);
$s = serialize($sec);
echo $s;
$ar = unserialize($s);
prt($ar);
权限分:
数据库的增删改查[通过组件进行]。
文件的增删改查通过组件进行[不通过组件独立进行[尽量避免]]。
目录的增删改查通过组件进行[不通过组件独立进行[尽量避免]]。
其他额外提供的单一工具功能[暂不考虑]。
用户操作权限分为:
组件权限:[主功能权限。子功能权限]
用户目录权限:文件操作权限[目录权限,目录操作权限]
组目录权限:文件操作权限[目录权限,目录操作权限[目录权限[增删改查],文件操作权限[文件类型,用户类型]]]
对这些分别或延伸的权限进行组合,赋予组或脚色。
用户登录后,数据库session表保存一条记录。其中权限字段存放的是序列化后的权限字符串。
权限检查里将此字符串反序列化。并check。
admin目录通过全局变量控制。
网站目录结构
/(root)
├admin
│ └components
├manage
│ └components
├components
├modules
├users
│├images
││├user1
││├user2
││├user3
││└user4
│├files
││├user1
││├user2
││├user3
││└user4
│├photos
││├user1
││├user2
││├user3
││└user4
│├htmls
││├user1
││├user2
││├user3
││└user4
│└..........
├groups
│├images
││├group1
││├group2
││├group3
││└group4
│├files
││└..........
│├photos
││└..........
│├htmls
││└..........
│└..........
└................
com_act 11110000000000( category ,content,html,............)(从xml配置文档取)
com_task 1111000000(show,edit,publish,sort,......空位留待后来,+0补齐)(从xml配置文档取)
act
14
asc
task
8
desc
category
1
show
1
edit
2
publish
3
content
2
show
1
edit
2
publish
3
html
3
show
1
edit
2
publish
3
哈哈,一直困扰我的位的意思怎么定义被解决了。
用xml做配置映射。呵呵。
组权限表(group_authority)
id type title com_id com_act com_task
889 group 管理组 2 11110000000000 11110000,11010000,11110000,10110000
889 group 管理组 3 11000000000000 11110000,11110000,00000000,00000000
778 group 次管理组 2 11110000000000 11110000,11010000,11110000,10110000
669 user[用户独立] 用户名[如useradmin] 2 11110000000000 11110000,11010000,11110000,10110000
脚色权限表(role_authority)
id type title com_act com_task
77 role 新闻录入者 11110000000000 11110000,11010000,11110000,10110000
78 role 新闻审核者 11000000000000 11110000,11110000,00000000,00000000
99 user useradmin 11000000000000 11110000,11110000,00000000,00000000
组和脚色的组件权限进行位与操作。都一致,或者用户>脚色>组,都通过了,任务才被继续执行。
这样单独检查的原因是:
有些一般的操作赋予组。组是最宽的一层。所有操作必须将用户归为其组方可继续。
脚色检查成功,则继续检查用户,如果定义了用户的行为。那么用户的行为覆盖组和脚色的行为。
自然,检查不通过就返回。
用户权限表[defined是否为用户单独赋予权限]
id group_id role_id
009 889 77
select groupid from user
select * from group_authority where id=groupid or title=username;
select * from role_authority where id = roleid or title=username;
文件权限表
id title pid
洪恩在线造成网速慢2006-01-12 08:44:01 bailing
没人BT以及其他。
发现是因为打开了洪恩在线的原因。
csrss.exe cpu使用64%左右。
greenbrowser.exe cpu使用30%左右。
关掉洪恩。ok了。
寻找一个认证控制的模块[pear->LiveUser.prefManager.SimpleTest.phparticle]2006-1-10 bailing
目标:权限管理明确严格。调用简便。
pear类库
LiveUser
这个类依赖10几个pear类库,不过,差不多了总算配置的差不多了。
看起来验证十分强大,基于xml的验证。
而且example的配置也是十分复杂。
我都不知道这个依赖N多pear类库的验证体系是怎么搞出来的。
也太过于复杂了。
再一次看看苏州[2]。
上午,昨晚没有睡好,眼睛有点涩,头脑有点晕.
category_tree-2005-07-05.tar.gz
这个类的数据结构是大约基于前序或后序的算法的.就是2叉树的结构.
让apache解释php4后缀。
AddType application/x-httpd-php .php .php4
Simple Test for PHP
给php做单元测试。
相关文章:http://www.hsboy.com/blog/archives/90-PHPOESimpleTesta.html
The speed of eval in PHP(zt)
Eval: 1000000 times took 8.6683559417725
Same code not eval: 1000000 times took 0.32248520851135
Eval: 1000000 times took 1.1273620128632
UnitTestCase ,simpleTest里包含这个类,simpleTest可到sourceforge下载。
@include_once $file;
@意思是忽略这个指令产生的错误。
试验prefManager
中文文章找不到。下面是一篇具体的指导
http://www.php-editors.com/pear_manual/p_package.authentication.auth-prefmanager.tutorial.html
这个权限控制类很简单,就是将用户名和行为挂接。行为自然需要自己一个一个的定义了。
有人在phpx.com说过将权限控制和类,function,tables,fields挂接。个人觉得,这样未免,可能会过于复杂了。
自然,也是最全面的权限控制了,如果做到了这一步,可以确信这个系统是稳若泰山了。
phparticle2.0.5最新版开放源代码,这是个好消息。
prefManager将权限分配给行为。单一的分配模式不适合构建一个我满意的完善的认证体系。
上午最后确定了dhtml异域读写cookie的绝对不可能。所以csdn给分助手用javascript来完成是绝对不可能。
发现phpArticle对有的文件还是加了密。
迷茫中........
Excel的自动换行设定。2006-1-10 bailing
选中一列。点设置单元格格式。钩上自动换行。
fread最大可以读取多少?2006-1-10 bailing
最大,当网络流时,读完一个可用包即中止。读完指定长即中止。最后,遇到EOF中止。
所以,别以为指定8192它就肯定返回8192呗。
我用的循环。保证不会触发EOF标记。
$unread = $readlen;
while ($unread>0) {
//echo(" 本次需读取 :".$unread."
\n");
$buf = fread($this->socket, $unread);
$ret .=$buf;
$bufLen = strlen($buf);
$unread -= $bufLen;
$readComplete += $bufLen ;
//echo( "本次读完:".$bufLen." 剩余:".$unread." 共完成:".$readComplete."
\n"); //echot($buf);
$k++;if($k>5)die;
}
正则表达式-换行2006-1-9 bailing
在editplus里多行查找关键的部分是任意字符+换行。
[^\n]*\n
在javascript里。对document.body.innerHTML查找时。可能由于解释会将所有分行写的标签浓缩为1 行。
所以不要在表达式里对回车换行符进行处理,否则,结果为空。
var pattern ="([^ ]*) ";
写csdn给分助手2006-1-7 bailing
今天星期六。
下午4点多我睡了一觉,醒来6点,我吃过饭来公司写csdn给分助手。
发现问题难在取所有回复的id上。要判断回复的id还要过滤作者的id。
1.首先用xmlhttp将数据揭帖的页面取来,乱码。而且直观显示js不能使用。pass。
2.改用iframe。动态改变src。ok。页面也不乱码了。js也能正常执行了。
发现过滤作者自己的回复真tmd让人郁闷。卡住了。用正则表达式呗,这种情况用正则表达式呗。
a.找出作者。
b.找出作者的回复id。
然后问题就该一路顺分了
发现
document.body.innerHTML是body的html字串。
发现
javascript的正则表达式只有三种模式。php里的模式可要多一些。
g (全文查找出现的所有 pattern) i (忽略大小写) m (多行查找)
发现
拒绝访问iframe内嵌的csdn网页。在google找到下面的回复。
不同网站的JS通信
把需要通信的两个页面加上以下语句,domainname相同时就可以通信
document.domain="domainname"
不过你改不了sina的document.domain
如果两个网站你都有权限修改就可以这样做。这是ie的安全特性决定的。
看来只好另寻办法了。
重新拾起1的办法,解决乱码问题。解决.......?
3.从xml文档里获取所有回复,过滤作者回复,重新生成表单。
看来只有办法3是可行的了。决定用这个办法. a very good method。
而且直到今天我都没有用过dom解析xml。
她来了,她有事,我就边写代码边等她。
得解决编码错乱的问题。
先试试用xml,加载xml没有乱码。
更改xsl节点困境。不知道createProcessingInstruction创建了xsl声明后怎么替换原来的xsl声明。
发现
objOldNode = xmlDoc.childNodes.item(1);可以得到xsl节点,xsl节点的名字叫xml-stylesheet。
用这个循环可以得到xsl
test="";
for (i=1;i
//处理oxml的dom
var xmlDoc = oXML.DOMDocument;
var PItext = "type='text/xsl' href='csdn2.xsl'";
var newPI = xmlDoc.createProcessingInstruction("xml-stylesheet", PItext);
//替换xsl节点
xslNode = xmlDoc.childNodes.item(1);
xmlDoc.replaceChild( newPI , xslNode );
//alert(xmlDoc.xml);
接下来是否用这个xsl解析这个xml?解析了在哪显示?
直接用obj.innerHTML= xmlDoc.xml。不行!obj里只有文本被显示出来。复制这些贴到frontpage里。
发现是一些不完全的标签。所以,此方案pass。
只好遍历xml了。遍历过程中生成表单。此方案可行。效率估计很低。
首先取节点内的文本就遇到了问题。
Issue['TopicId']=objNode.childNodes[5].nodeValue;
原来nodeValue并非节点内的文本而是什么未被解析的什么东东。
objNode.childNodes[5].text;就ok了。
childNodes的下标是从0开始的
终于提交了。然而我组合的表单的参数错误。靠,比较下看看。
发现不了问题,改写GB的插件来解决问题。难在了取作者ID上。不取了,虽然正则取到了id。
OK。GB插件Ok了。
http://www.cnblogs.com/Files/gudai/csdnGivTip_2006-1-9.zip
人生2006-1-7 bailing
人生路美梦似路长
路里风霜风霜扑面干
红尘里美梦有几多方向
找痴痴梦幻中心爱
路随人茫茫
人生是美梦与热望
梦里依稀依稀有泪光
何去何从去觅我心中方向
风仿佛在梦中轻叹
路和人茫茫
人间路快乐少年郎
路里崎岖崎岖不见阳光
泥尘里快乐有几多方向
一丝丝梦幻般风雨
路随人茫茫
一丝丝梦幻般风雨
路随人茫茫
[dhtml]在UTF-8编码的页面中xmlhttp用post发送表单2006-1-4 bailing
页面如果是UTF-8码的,并且数据是文本的。
将表单数据连起来直接发送即可,无须用escape编码解码。
2006-01-12 14:08:32发现。IE的高级设置里最后有一个
总是以UTF8发送URL(需要重启动)
//将数据连起来
for (i=0;i
[dhtml]form(i)与form2006-1-4 bailing
ie认识form(i);firefox提示form is not a function
改为form,这下两个都认识了。
apache出错。The requested operation has failed! 2006-1-1 bailing
今天下午1点来公司。发现apache启动不了。弹出这个错误。
上网查了下,原因很多,有的是集成tomcat时出的错。有的是Loadphp时出的错。
想到昨晚走的时候还正常。我将httpd.conf中的php行
LoadModule php5_module D:/www/php505/php5apache2.dll
注释掉,可以启动。去掉
#LoadModule php4_module D:/www/php44/sapi/php4apache2.dll
的注释,不能启动。于是我怀疑问题在php.ini上。
打开Php.ini。我的editplus中集成了这个打开的过程作为一个工具。鼠标点两下就好了。
看到最后多了zend的部分,想起前不久装了zend。于是把它们全部注释掉。
这下可以启动了。
[Zend]
;zend_extension_manager.optimizer_ts="d:\p\Zend\StudioServer\lib\Optimizer-2.5.13"
;zend_extension_ts="d:\p\Zend\StudioServer\lib\ZendExtensionManager.dll"
;zend_extension_manager.debug_server_ts="d:\p\Zend\StudioServer\lib\Debugger-5.0.0"
;studio.install_dir="d:\p\Zend\StudioServer"
;zend_debugger.expose_remotely=allowed_hosts
;zend_gui.ini_modifier="d:\p\Zend\StudioServer\sbin\ini_modifier.exe"
;zend_debugger.deny_hosts=
;zend_gui_password=e9646d086a37906e5bec4323d3b37c9b
;zend_debugger.allow_hosts=172.16.234.0/24
;zend_debugger.allow_tunnel=127.0.0.1/32
;zend_ini_file="d:\p\Zend\StudioServer\etc\zend.ini"
怀疑问题出在zend的序列号是破解的。
或者zend有新版本出现,自动更新了本地的文件。
打开zend studio server。提示
Zend Optimizer not installed
哦,mygod。
有关html4以及DTD定义2005-12-31 bailing
用这个声明
居然在css中无法定义a标签的宽高
加上display:block;就好了。在这个声明下。padding将会和width加在一起成为a标签的实际宽度。虽然IE解释的
界面上a不会超出范围,但是点击a标签,我么可以看到点下的时候虚线是在范围之外的。而这个超出的宽,恰好
等于左右padd之和。在firefox里直接显示超出的宽度。这说明+padd是html4的标准。
fdf
fdf
fdf
在解释中,按display:block解释的话,这会造成a和a之间有一个很宽的距离。原来是后面的造成的。
将它去掉就好了。display:inline的话,则宽高100%都不会被解释。
http://www.moztw.org/docs/gecko/webdevfaq/
要確保 HTML 的「標準」模式啟動,最簡單的方法是使用這種 doctype 宣告:
要確保 HTML 的「近乎標準」模式啟動,最簡單的方法是使用這種 doctype 宣告:
兩種宣告中,前者是給不含任何宣告失效標籤的文件;後者則是給可能含有宣告失效標籤的文件。無論是何者,此
文件都該合乎並通過 CSS2 佈局模組的驗證。
而要啟動 HTML 的「Quirks」模式,最簡單的方法是省略 doctype 宣告。但不管怎樣,我們並不鼓勵建立依賴 quirks
模式的文件。
這種依照 doctype 來辨別佈局模式的方法只適用於標為「text/html」的文件,而 XML 文件則必然會啟動「標準」佈
局模式(標為「application/xhtml+xml」的文件亦同)。這代表一份符合 XHTML 1.0 Transitional 規格並標記為「
text/html」的文件,會因附錄 C 的理由以「近乎標準」模式佈局;而同一份文件,標記為「application/xhtml+xml」
後則會用應有的準則,以「標準」模式對待。
采集器2005-12-31 bailing
功能:
内核
功能按钮(添加删除....)
功能处理
外围
1.管理菜单表。
2.管理类别表。
3.采集定义。
4.连接表。
5.采集规则表。
6.实际内容表。
7.过滤规则表。
修改editplus的html函数模式2005-12-31 bailing
使ctrl+F11可以认识我的这个笔记,注意下面表达式h1中夹的空格需去掉
(^[ \t]*function[ \t].*\([^;]*$)|(^[^=]+=[ \t]*function.*$)|.*
利用header下载并断点续传2005-12-30 bailing
来自
http://bbs.chinaunix.net/viewthread.php?tid=668683&extra=page%3D1
强就一个字。
0 {
$rlen = $len
Table 'phpmyadmin.pma_bookmark' doesn't exist 2005-12-24 bailing
http://www.songzi.org/blog/article.asp?id=41
打开phpmyadmin/scripts/create_table.....sql执行即可。
数据库超过4.1.4+的执行那个....
cms浏览2005-12-24 bailing
今天看看有没有什么合适的简单的企业自助建站系统
目标:权限管理必须强大。功能要简易。
http://down.itbbs.com/Software/View-Software-7477.html
phpcms还可以用来做事业单位或者企业的小型展示性站点。phpcms 2.4 版提供了单网页管理功能,因此可以轻松地
在线创建出公司简介、业务范围、联系方式等一般性公司站点内容,还可以创建公司新闻、技术资料、产品帮助。
织梦网站内容管理系统(DedeCms) V2.1.1 2005-11-15 693KB (有人推荐)
织梦内容管理系统特点:
1、基于PHP+MySQL的技术构建,支持全生成静态文章和文章列表,加速你的网站访问速度,增强搜索引擎优化;
2、强大的后台管理,权限分为网络管理员、频道编辑、信息采编三种,完全适应各种中小型政府网站、个人网站和普通企业网站的应用;...
语言界面:简体中文 授权方式:免费软件 运行平台:Win9x/Me/NT/2000/XP/2003
易采Neat Collector V1.2.1 BETA
源码加密,所以不用,界面还是易用的,看来还不错,用起来utf8数据库资料乱码,既然改不了代码,那就只好
放弃了。
linkcollector-2004-02-22
这是在phpclasses搜到的。莫名其妙的东西。
我还是自己写一个采集器好了。
28. AMFPHP (Flash Remoting for PHP) - An implementation of Flash Remoting for PHP allowing seemless data exchange between PHP and the Flash player.
37. TUTOS - TUTOS is _T_he _U_ltimate _T_eam _O_rganization _S_oftware, a webbased groupware or ERP/CRM/PLM system to manage your and your teams appointments,addresses,projects,tasks,bugs,mailboxes,documents,notes and your time spent with these things (类似办公。管理项目)
38. phpPgAdmin - phpPgAdmin is a fully functional web-based administration utility for a PostgreSQL database server. It handles all the basic functionality as well as some advanced features such as triggers, views and functions (stored procs) (pgsql 管理)
46. SPGM (Simple Picture Gallery Manager) - SPGM is a PHP script that displays photo albums on the web, providing users with very simple procedures as for set up and update. Highly configurable though, it includes several features (such as new pictures highlighting) for a perfect integration. (图片管理)
49. WebCollab - A web-based project management tool for workgroups. Encourage groups and individuals to work collaboratively. This tool aims to be functional and elegant without being complicated or graphically intensive.
(项目管理)
56. phpwcms - phpwcms is a web content management system optimized for fast and easy setup on any standard webserver. phpwcms is perfect for professional, public and private users. It is very easy to learn and gives you the flexibility to separate layout and content. (不知道和国产的phpcms有什么区别)
将loadModule加上模版2005-12-23 bailing
这下好了。以后不用总是打开frontend.php改来改去的了。
直接到/templates/modulebox/下改模版文件了。
调用参数-1.
对应模版文件 box-1.html。
ok。
昨天做好了异步装载数据,今天将数据导入文章。并做好模块调用的模版。
ok。接下来是美工的活了。我已经基本将模版完全解放出来了。
mysql导数据时错误max_allowed_packet2005-12-23 bailing
最大的包默认是1MB
在my.ini中加一行
max_allowed_packet = 8024596 这大概是8MB。
用mysql客户端启动,执行\. sql文件名。ok。2MB的sql数据包共176条记录。1秒就执行完了。
然而错误。重新启动mysql客户端。
执行如下指令
use mambog_corp
\s
set character_set_client=utf8;
set character_set_connection=utf8;
\. D:/web/mambog_corp/sql/2005-12-23/mos_content.sql #注意这里不能有“;”分号,否则错误:2 failed open file
\. D:/web/mambog_corp/sql/2005-12-23/mos_corp_category.sql
这下ok了。没有乱码了。
完整的过程
d:
cd d:\www\MySQL41\bin\
mysql -uroot
use mambog_corp
\s
set character_set_client=utf8;
set character_set_connection=utf8;
\s
\. D:/web/mambog_corp/sql/2005-12-27/mos_content.sql
\. D:/web/mambog_corp/sql/2005-12-23/mos_categories.sql
\. D:/web/mambog_corp/sql/2005-12-23/mos_corp_category.sql
\. D:/web/mambog_corp/sql/2005-12-23/mos_corp_pagetitle.sql
\. D:/web/mambog_corp/sql/2006-02-10/mambog_corp_server.sql
用程序导入:耗时12秒,用mysql客户端导入,总计不到1秒。
最长的过程执行时间0.2秒,发生在mos_content表插入记录时(2MB的数据176条记录)。
\. D:\web\mambog_corp\tmp\cateToContent.sql
\. D:/docs/sql/2006-01-09/mambog_corp.sql
Packet too large错误
当一个MySQL客户或mysqld服务器得到一个比max_allowed_packet个字节长的包,
它发出一个Packet too large错误并终止连接
如果你正在使用mysql客户,你可以通过用mysql --set-variable=max_allowed_packet=8M指定一个更大的缓冲区来启动客户程序。
如果你正在使用不允许你指定最大包大小的其他客户(例如 DBI),你需要在你启动服务器时设置包大小。你可以使用mysqld的命令行选项设置max_allowed_packet为一个更大的尺寸。例如,如果你正期望将一个全长的BLOB存入一张表中,你将需要用--set-variable=max_allowed_packet=24M选项来启动服务器。
建库。
CREATE DATABASE `mambog_corp` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
参考文章:
使用MySQL时的一些常见错误
http://www.ddvip.net/web/php/index7/3.htm
ajax通信在mambo中应用2005-12-22 bailing
修改frontend.php
增加几个服务器端生成客户端js脚本的函数。
服务器端生成这个模块的html盒子,具体内容由客户端的xmlhttp请求该模块(如:mod_articleList.php)
再填到盒子里。由于此次请求模块需要独立担当取数据的任务,所以。在模块中必须保证独立性。
我新建了一个文件,用来处理环境问题。每个ajax模块中都包含了这个文件。ajaxHead.php
define( '_VALID_MOS', 1 );
require_once("../configuration.php");
require_once("../includes/database.php");
require_once("../includes/mambo.php");
$database = new database( $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db,$mosConfig_dbprefix );
异步调用是因为从网络上第一次抓数据耗时比较长,所以采用ajax技术。
发现应用同一个对象对服务器请求,失败了。
应用FCKXML类,ok。每次请求都得重新申明一个对象。
我估计是因为此对象已经打开了。资源不能再被使用。
[url=telnet:abcd:123@xvl%201520]html telnet[/url]
async: 一个布尔标识,说明请求是否为异步的。如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作
重装系统后的善后事宜2005-12-20 bailing
1.安装咖啡防病毒。v8.0.
2.设置防火墙。
当通过MMC控制台中的Computer Management(计算机管理)、Disk Management(磁盘管理)等组件远程管理程序来管理局域网上的其他计算机,计算机必须开放TCP 445端口。
命令
netsh firewall set portopening TCP 445 TCP445 ENABLE
3.重新安装声音驱动。
右键点我的电脑-〉硬件-〉设备管理器-〉声音视频和游戏控制器-〉c-media ac97 audio->更新设备驱动程序
-〉否,暂时不-〉指定位置或列表安装-〉不要搜索,我自己选择安装程序-〉显示兼容硬件-〉
选择RealTek ac97 audio->
OK
msn不能登陆2005-12-21 bailing
msn不能登陆,工具-〉选项-〉连接-〉测试疑难解答
发现代理服务器前是个对。
打开ie-〉internet选项-〉连接-〉局域网设置,发现代理服务器下被打了勾。去掉就好了。
这说明可能此机子被人装过木马。
php绘制曲线图类浏览2005-12-20 bailing
共三个。
panachart。
kakapowu()推荐的,jpgraph有API手册的,自己看就会了.推荐panachart,很小巧的php绘图类
http://sourceforge.net/project/showfiles.php?group_id=92637&release_id=215007
jpgraph。
唠叨说太烦(从来就不用jpgraph,太费事了)
http://www.aditus.nu/jpgraph/jpdownload.php
FusionCharts
feyge(菲戈@http://spaces.msn.com/members/feyge/)推荐的
还有一个是FLASH+XML的,支持任何语言,比jpgrapch要易用
http://www.infosoftglobal.com/FusionCharts/LiveDemos.asp?gMenuItemId=4
重做系统笔记2005-12-19 bailing
要重做系统。列出需要备份的清单先。
1.备份收藏夹。
2.备份电子邮件
3.备份movie和music
4.winscp和ssh client的配置文件
5.cuteftp的配置文件
6.共享文档
ok,我觉得可以了
1.打开ie->文件-〉导入导出向导-〉导出收藏夹
2.打开outlookexpress->工具-〉账户-〉分别将几个账号导出。
OE-〉工具-〉选项-〉维护-〉存储文件夹。将文件夹改为其他盘的位置。
OE->文件-〉导出-〉通讯簿。
3.本地磁盘放不下。
net use \\develop-2\NETLOGON /del
net use \\develop-2\sharedocs /del
net use \\develop-2\SYSVOL /del
net use z: \\develop-2\sharedocs "%2" /user:"%1"
::net use z: \\IP\c$ "密码" /user:"用户名"
4.不能通过程序自己备份,不过我是装在非系统盘d:\p目录下。
C:\Documents and Settings\w\Application Data\SSH下面放的该是配置文件。
winscp的就找不到了。
5.cuteftp->tools->site manager->export sites as text files
6.这也要备份?不备份
ok
----------
忘记备份:hosts表
忘记备份:注册表之打开文件对话框。
忘记备份:root.txt
需要备份系统环境变量:mysql/bin
------------
决定用ghostxp sp2来搞。c盘大概就不用格式化了,果然不用,选择磁盘的时候可要万分小心那,选错了就完了。
ghostxp没有显卡驱动。
1。找来光盘装显卡驱动。
2。装输入法微软拼音2003,不需要重启。
3。右键点击我的电脑,找到资源管理器常见任务勾上。
4。重新注册editplus。导出HKEYM/software/ES-computing键,我看到里面有editplus.
5。重新设置网卡。计算机名,工作组等。
6。将我的文档所在的位置移动到d:\docs。
7.将winrar快捷方式拖到桌面.
8.哭,cuteftp导出的csv文件,现在导入居然问我要密码。
9.安装mysql manager lite
10.还原outlook express的配置。进入工具-〉选项-〉维护-〉导入,选路径,问是否使用,是。千万别选否。
同理导入账号,很顺利。ok.
11。打开ie->文件-〉导入导出向导-〉导入收藏夹-〉成功
12。用硬件精灵监测到音频设备是AC97的。
多媒体音频控制器
OEM Device from Elitegroup Computer Sys
Chip: Intel Corporation 82801DB AC'97 Audio Controller (ICH4 B0 step)
于是打开光盘,安装驱动。
靠 f:\sound\ON_BOARD_SOUND目录下居然有7个子目录。分别是
AD188X,ALC655,CM973x,VIA-ALC,VIA-ALC655,VT1616,VT1616A。
我装了CM973x,不知道行不行。察看硬件管理器,c-media ac97 audio device 前面打了一个!
13。安装金山词霸46MB的。这个版本没有那个176MB的好。
14.。重新注册apache/mysql服务。由于之前作过批处理脚本。这次运行下就貌似ok了。不过配置文件php.ini是旧的。
15.糟糕。忘记了备份hosts表。
16.建立批处理配置网卡。
也可以注册表
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\{FBD72F8D-6334-4739-957A-7D324D9C27EF}\Parameters\Tcpip
来改动
http://www.microsoft.com/china/MSDN/library/Mobility/embedded/WorkWithNetshInWinXPEmb.mspx
更多http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/netsh.mspx
给它加上%1参数,你就可以给整个局域网配置网卡了。
ipconfig.bat
set eth="本地连接"
set ip=172.16.234.213
set mask=255.255.0.0
set gw=172.16.234.1
set dns=61.177.7.1
set dns2=202.102.13.141
::更改ip
netsh interface ip show address
netsh interface ip set address %eth% static %ip% %mask% %gw% 1
::更改dns
netsh interface ip set dns %eth% static %dns% primary
netsh interface ip add dns %eth% %dns2% 2
ipconfig /all
17.安装Ad-Aware.SE,发现桌面上多了个Huntersoft Free Download的链接。可能是硬件精灵自带的。果然是。
ad-aware也没法。毕竟硬件精灵是免费的。
18.拷贝VGA驱动和SOUND驱动
19.将d:\tech快捷方式拖入任务栏边上.
20.安装jdk到D盘。装时选了独立JRE。现在eclipse无需指定jvm路径了。jushed.exe是Sun公司计划任务升级程序。
减肥做镜像
21.c盘的目录大小如下。
program files:350MB
document and settings 107MB
windows 1.38GB
pagefile.sys 774MB 将临时文件设置到E: 512MB
C:\WINDOWS\Driver Cache\i386 : dirver.cab : 66MB 删除
sp2.cab : 18MB 删除
C:\WINDOWS\system32\dllcache : 435MB 删除
C:\WINDOWS\ime 输入法目录
IMKR6_1 韩文 10MB 删除时提示无法删除。
IMJP8_1 日文 63MB 删除时提示无法删除。
执行 sfc.exe /purgecache
现在c:\windows 899MB
删除C:\Documents and Settings\w\Local Settings\Application Data\{32A3A4F2-B792-11D6-A78A-00B0D0150040}
这下面放了安装JDK时临时释放的57MB的MSI安装包。
现在 C:\Documents and Settings\ 41MB
c: 2GB
安装 vfloppy
重新启动计算机。
JDK自动更新。输入法还是删不掉。C:1.29GB
windows自动更新。
c:1.34GB
C:\Program Files 422MB
C:\WINDOWS 900MB
C:\Documents and Settings 42MB
ok,完工,kr/jp输入法删不掉就算了,不过80MB
装了补丁后,c:windows : 1GB
没有进行的操作
1.关闭系统文件保护http://www.people.com.cn/GB/it/2775763.html
警告:这样修改之后可以直接删除Windows的关键文件。(还是不要操作了)
默认状态下系统禁止用户删除系统和程序文件,经过修改注册表可以彻底解除这个限制。打开注册表找到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 中的SFCDisable,把它的值
改为0xFFFFFF9D, 如果要用文件保护,重新把它值改为0就行了
2.sfc命令http://searchwindowssecurity.techtarget.com.cn/tips/450/2173950.shtml
/SCANNOW选项通知SFC立即扫描所有受保护的系统文件。如果在扫描过程中发现一个错误的文件版本,这个错
误的版本将被替换为微软正确的版本。当然,这意味着你可能必须有Windows安装CD,最新的服务包或者升级补丁
/SCANONCE参数通知WFP在系统下次启动的时候扫描受保护的系统文件。在扫描过程中,任何错误的文件将被正
确的版本替换。正如这个参数名的意思,这个扫描只进行一次。之后的系统启动将恢复正常,SFC不再运行。
/SCANBOOT参数和/SCANONCE选项类似。区别在于SCANONCE只在Windows下次启动时扫描受保护的文件,而
SCANBOOT参数则在Windows每次启动时都扫描系统文件。如果需要,这两个参数将替换错误的系统文件,这可能需
要你提供正确文件版本的拷贝。
/REVERT选项用来关闭SFC,例如,假设你使用SCANBOOT选项在每次系统启动的时候扫描所以保护的文件。正如你所能想到的,这确实会增加计算机启动的总时间。最后,你可能厌倦了漫长的启动时间,想关闭SFC。只需要简单的使用SFC /REVERT,就可以在启动的时候关闭SFC。
Windows XP减肥十大酷招
http://pc.zol.com.cn/2003/1231/80658.shtml
包含文件的自身的编码导致乱码2005-12-19 bailing
a.php里有
require_once('b.php');
a.php的编码是ansi
b.php的编码是utf-8,b.php有个函数返回一个含utf-8编码的字串,被a输出。结果输出乱码
将a另存为utf8码就ok了。如果a全由ascii字符组成,在editplus里的另存是没有效果的。
解决办法是在a里写一个注释的汉字。
在WIN2000/xp/2003 中如何注册一个新的系统服务?2005-12-18 bailing
来自itpub
http://www.itpub.net/258194.html
下面的是删除。删除项在项的前面加 - 号。删除键在键的后面存放值的位置加 - 号。
[-HKEY_LOCAL_MACHINE\Software\Test] //删除项
[HKEY_LOCAL_MACHINE\Software\Test]
"TestValue"=- //删除健
写过注册表,需要重新启动计算机才有效。
tmd我机子上的xp居然是破解不完善的版本,听高手说是英文或俄文的汉化版,sp2装不上,vs2005也就不能用。
IE还老是mshtml.dll崩溃。自动更新也更新不了。putty也用不了。iis也不能用。真是tmd早就该换系统了。
然而重装系统,那么多配置好的软件又得重新配置一遍。唉。记得上次将james成功配置为系统服务
这次将run.bat设置为服务居然不行了。晕。wrapper.exe可以,失败的原因可能是JVM的路径不对。另外
eclipse也不能正常启动,除非指明java路径。
配置管理器 指定的设备实例句柄和目前的不一致,这个错误是服务项下的enum子项引起的,删除就Ok了。
(ZT)现在添加系统服务的工具很多,最典型的就是netservice。但是我们这里讲的是手工添加系统服务,所以工具的使用不在本文的讨论范围之内。
现在很多的木马、后门、蠕虫病毒都是通过修改注册表中的RUN键值来实现自启动。
但是这种自启动模式不是很隐蔽的,稍微懂点安全的人,一般发现电脑被黑,都会查看RUN键值的。
于是系统服务便成为了一种相对隐蔽的自启动模式。比如冲击波杀手就采用系统服务来自启动病毒程序
现在添加系统服务的工具很多,最典型的就是netservice。但是我们这里讲的是手工添加系统服务,所以工具的使用不在本文的讨论范围之内。
WINDOWS里的很多东西都是跟注册表息息相关的,系统服务也不例外。
系统服务跟以下的注册表几个项目相关:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services
我们完全可以找到在系统服务中已注册的服务的键值来依样画葫芦。
在以上任何注册表列中添加一个新项:
名字是你想要添加系统服务的名字,比如Backdoor。
在BACKDOOR项下新建一个字符串,数值名称Displayname 数值数据为要添加服务的
名称Backdoor。
下面列出一个表,会直观一些:
名称 类型 数据 备注
Displayname REG_SZ 想要添加服务的名称 想要添加服务的名称
Description REG_SZ 服务的描述 服务的描述
ImagePath REG EXPAND SZ 程序的路径
Start REG_DWORD 0,2,3,4 2代表自动启动,3代表手动启动服务.4代表禁用服务,0代表系统对底层设备驱动(一般不需要这个)
ErrorControl REG_DWORD 1
Type REG_DWORD 10 or 20 一般应用程序都是10,其他的对应20
ObjectName REG_SZ LocalSystem 显示本地登陆
补充 在2000里面 REG EXPAND SZ是可以用regedt32来添加的 同时 服务程序不同于普通的应用程序 不是每个程序都可以加到服务里
Windows中的网络组件2005-12-17 bailing
网络邻居不能访问。
组策略,安全策略,拒绝从网络访问此计算机里有guest。去掉就好了。这个可能是kaspersky给加上去的。
网络邻居不能访问,弹出错误【此工作组的服务器列表当前无法使用】。
解决XP专业版局域网访问故障十八招
http://goldfish.blogbus.com/logs/2005/03/1038468.html
三、我的电脑→工具→文件夹选项→查看→去掉“使用简单文件共享(推荐)”前的勾;
http://www.microsoft.com/china/windows2000/guide/server/features/comlist.asp#heading2
Windows在网络应用方面提供了许多核心组件,包括由安装程序自动安装的许多管理工具以及许多附加的组件供用户选择安装,以扩展Windows的网络功能。这些组件可分为3大类:客户、服务和协议,它们可以在安装时添加,也可以在安装以后添加。
1. 客户
客户组件可以提供对计算机和连接到网络上的文件的访问。Windows中提供了两种客户类型:
Microsoft 网络客户端:此客户组件允许用户的计算机访问Microsoft网络上的资源。
NetWare客户端服务:允许这台计算机登录到NetWare服务器并且访问它们的资源。
2. 服务
服务组件为用户提供了其他的一些功能,例如文件和打印机共享,连接其他类型的网络等。安装服务组件之后,可向网络中的其他用户提供相应的服务。Windows中提供的服务组件功能如下:
Microsoft 网络的文件和打印机服务:允许其他计算机用Microsoft网络访问用户计算机上的资源。
QoS数据包计划程序:即质量服务数据包计划程序。该组件提供网络交通控制,包括流量率和优先级服务。
SAP代理程序:即服务公布协议(SAP)公布网络上的服务器和地址。
IPX的RIP和SAP
RIP和服务广告协议(简称SAP)广泛地应用于NetWare (IPX)中小型网络环境种。这些路由选择协议允许混合网络环境之间进行互操作。
3. 协议
通信协议是用户使用的计算机与其他计算机通信的语言,它规定了计算机之间传送数据的规则,并定义了计算机之间互相沟通的方法。在Windows中提供支持的各协议基本功能如下:
1.NetBEUI协议
■NetBEUI通信协议的特点。NetBEUI(NetBIOS Extended User Interface,用户扩展接口)由IBM于1985年开发完成,它是一种体积小、效率高、速度快的通信协议。NetBEUI也是微软最钟爱的一种通信协议,所以它被称为微软所有产品中通信协议的“母语”。微软在其早期产品,如DOS、LAN Manager、Windows 3.x和Windows for Workgroup中主要选择NetBEUI作为自己的通信协议。在微软如今的主流产品,如Windows 95/98和Windows NT中,NetBEUI已成为其固有的缺省协议。有人将WinNT定位为低端网络服务器操作系统,这与微软的产品过于依赖NetBEUI有直接的关系。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的,它不具有跨网段工作的功能,即NetBEUI不具备路由功能。如果你在一个服务器上安装了多块网卡,或要采用路由器等设备进行两个局域网的互联时,将不能使用NetBEUI通信协议。否则,与不同网卡(每一块网卡连接一个网段)相连的设备之间,以及不同的局域网之间将无法进行通信。
虽然NetBEUI存在许多不尽人意的地方,但它也具有其他协议所不具备的优点。在三种通信协议中,NetBEUI占用内存最少,在网络中基本不需要任何配置。尤其在微软产品几乎独占PC操作系统的今天,它很适合于广大的网络初学者使用。
■NetBEUI与NetBIOS之间的关系。细心的读者可能已经发现,NetBEUI中包含一个网络接口标准NetBIOS。NetBIOS(Network Basic Input/Output System,网络基本输入/输出系统)是IBM在1983年开发的一套用于实现PC间相互通信的标准,其目的是开发一种仅仅在小型局域网上使用的通信规范。该网络由PC组成,最大用户数不超过30个,其特点是突出一个“小”字。后来,IBM发现NetBIOS存在的许多缺陷,所以于1985年对其进行了改进,推出了NetBEUI通信协议。随即,微软将NetBEUI作为其客户机/服务器网络系统的基本通信协议,并进一步进行了扩充和完善。最有代表性的是在NetBEUI中增加了叫做SMB(Server Message Blocks,服务器消息块)的组成部分,以降低网络的通信堵塞。为此,有时将NetBEUI协议也称为“SMB协议”。
人们常将NetBIOS和NetBEUI混淆起来,其实NetBIOS只能算是一个网络应用程序的接口规范,是NetBEUI的基础,它不具有严格的通信协议功能。而NetBEUI是建立在NetBIOS基础之上的一个网络传输协议。
2.IPX/SPX及其兼容协议
■IPX/SPX通信协议的特点。IPX/SPX(Internetwork Packet eXchange/Sequences Packet eXchange,网际包交换/顺序包交换)是Novell公司的通信协议集。与NetBEUI的明显区别是,IPX/SPX显得比较庞大,在复杂环境下具有很强的适应性。因为,IPX/SPX在设计一开始就考虑了多网段的问题,具有强大的路由功能,适合于大型网络使用。当用户端接入NetWare服务器时,IPX/SPX及其兼容协议是最好的选择。但在非Novell网络环境中,一般不使用IPX/SPX。尤其在Windows NT网络和由Windows 95/98组成的对等网中,无法直接使用IPX/SPX通信协议。
■IPX/SPX协议的工作方式。IPX/SPX及其兼容协议不需要任何配置,它可通过“网络地址”来识别自己的身份。Novell网络中的网络地址由两部分组成:标明物理网段的“网络ID”和标明特殊设备的“节点ID”。其中网络ID集中在NetWare服务器或路由器中,节点ID即为每个网卡的ID号(网卡卡号)。所有的网络ID和节点ID都是一个独一无二的“内部IPX地址”。正是由于网络地址的唯一性,才使IPX/SPX具有较强的路由功能。
在IPX/SPX协议中,IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据是否传输成功,也不提供纠错服务。IPX在负责数据传送时,如果接收节点在同一网段内,就直接按该节点的ID将数据传给它;如果接收节点是远程的(不在同一网段内,或位于不同的局域网中),数据将交给NetWare服务器或路由器中的网络ID,继续数据的下一步传输。SPX在整个协议中负责对所传输的数据进行无差错处理,所以我们将IPX/SPX也叫做“Novell的协议集”。
■NWLink通信协议。Windows NT中提供了两个IPX/SPX的兼容协议:“NWLink SPX/SPX兼容协议”和“NWLink NetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它在继承IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。Windows NT网络和Windows 95/98的用户,可以利用NWLink协议获得NetWare服务器的服务。如果你的网络从Novell环境转向微软平台,或两种平台共存时,NWLink通信协议是最好的选择。不过在使用NWLink协议时,其中“NWLink IPX/SPX兼容协议”类似于Windows 95/98中的“IPX/SPX兼容协议”,它只能作为客户端的协议实现对NetWare服务器的访问,离开了NetWare服务器,此兼容协议将失去作用;而“NWLink NetBIOS”协议不但可在NetWare服务器与Windows NT之间传递信息,而且能够用于Windows NT、Windows 95/98相互之间任意通信。
3■
Internet协议(TCP/IP):TCP/IP表示传输控制协议/互连协议,它是为广域网设计的一套工业标准协议。它能为用户提供跨越多种互联网络的通信。Windows TCP/IP允许用户与任何运行TCP/IP的机器一起连接到Internet,并且提供TCP/IP服务。虽然TCP/IP很灵活且可以用于几乎任何需要传输协议的环境,但是TCP/IP的正确管理相对而言仍较困难,而且比IPX和NetBEUI速度慢。
javascript学习(ajax框架之openRico)2005-12-17 bailing
今天要把openRico的accordion应用到实际。
首先将网站上的demo搞下来。(察看源文件)
对这个文件用frontpage打开。在设计模式下将无关的部分,删。
修改js和css的路径。
ok。现在开始调试。
new Rico.Accordion( 'accordionExample', {panelHeight:127,collapsedBg:'#FF0'} );
发现怎么改css都不能改变盒子的头部背景。打开rico.js查看怎么回事。
发现了这里是设置属性的地方
setOptions: function(options) {
this.options = {
expandedBg : '#63699c',
hoverBg : '#63699c',
collapsedBg : '#6b79a5',
expandedTextColor : '#ffffff',
expandedFontWeight : 'bold',
hoverTextColor : '#ffffff',
collapsedTextColor : '#ced7ef',
collapsedFontWeight : 'normal',
hoverTextColor : '#ffffff',
borderColor : '#1f669b',
panelHeight : 200,
onHideTab : null,
onShowTab : null
}.extend(options || {});
},
这个东西我没见过。extend方法是prototype.js里提供的,打开一看。没什么,
将彼对象的属性值赋予此对象同名属性而已。
然而,这个结构this.options让我迷惑,这?
最后领悟到这个对象就是这样。逗号隔开的是属性。冒号:隔开的是属性值。
靠,知道怎么传递参数了。
new Rico.Accordion( 'accordionExample', {panelHeight:127,collapsedBg:'#FF0'} );
ok
php压缩类(archive,支持TAR/GZIP/BZIP2/ZIP),使用方便,一个文件2005-12-16 bailing
来自http://phpclasses.dev.skypp.com/browse/package/945.html
需要注册并通过邮件确认才能下载,不过.注册很简单,就填几个框子.
//用法示范
//利用archive打包
//包含这个类文件
require_once("zipArchive/archive.php");
$test = new zip_file( $zipFileName );
// Create archive in disk
$test->set_options(
array(
'basedir' => dirname($modpath),
'inmemory' => 0, //不在内存压缩.而是直接存放到磁盘.如果要压缩下载,则可以选择为1
'recurse' => 1, //是否压缩子目录,resurse,递归的意思?
'storepaths' => 1, //是否存储目录结构,我选是。
'overwrite' => 1, //是否覆盖
'level' => 5 ,//压缩比
'name' => $zipFileName, //压缩最后生成的文件名,无需再次设置。这里是为了解说方便才放上来的。
'prepend' => "", //未知
'followlinks' => 0, //未知
'method' => 1, //未知
'sfx' => "", //不知道什么意思
'type' => "zip", //是zip还是tar...,无需设置,这里为了方便解说。放上来。
'comment' => ""
)
);
// Add files to archive,args can be array or a filename,and support *.*,but all files must be under the basedir
$files = array($module_name.".php",$module_name.".xml","templates/".$module_name.".html");
//可以将文件名单独列出来加进去,但是文件名必须在basedir下,文件名支持*.*表示压缩全部。
//$test->add_files($files); //加$files数组里的文件名
$test->add_files("diruti"); //加目录diruti,如果diruti是文件,那么就是加文件。
//$test->add_files(array("images/*.jp*g", "images/*.gif"));
// Store all exe files in bin without compression
//不压缩存储
//$test->store_files("bin/*.exe");
// 正式写入磁盘
$test->create_archive();
// Send archive to user for download
//如果是选择了在内存中创建,这里提供下载。
//$test->download_file();
关于直接发邮件,不通过该死的smtp server2005-12-15 bailing
昨晚想了下。
[x叉]或许可以mail server是监听在110端口,不仅负责把邮件送出去。而且负责收新邮件。
监听在25号端口。通过dns服务器查mx出@后面的ip地址。
通过socket根据smtp协议进行邮件的收发。
pear.php.net有现成的类库。不过我的实验失败了。经过老长时间的等待。最后。还是没收到。
mysql命令使用数据的导入导出2005-12-14 bailing
导出。
mysqldump --help >>help_dump.txt
mysqldump -hlocalhost -uroot mambog_corp > mambog_corp.sql -fe
导入数据(并非执行sql,所以下面的语句注定失败,执行sql的步骤)
mysqlimport -hlocalhost -uroot mambog_corp mambog_corp.sql -f
执行sql 脚本文件。
mysql -uroot
>\. mambog_corp.sql;
ok了。
如果出现不能建表的错误。(errono:121)。
检查该表的类型,建议将type修改为MyISM看看。我的InooDB的表就报错,改了就好了。
此处的脚本文件居然从phpmyadmin导出的,用这个方法导入却一团乱码。
因为mysql客户端要设置下编码为utf8,在客户端下敲入如下命令
set character_set_client=utf8;
set character_set_connection=utf8;
安装nanoweb笔记2005-12-12 bailing
http://nanoweb.si.kz
这个服务器纯粹用php编写。
安装不复杂。install.bat。然后修改安装根下c:\nanoweb\nanostart.bat中的php为你的php cli程序所在的路径即可。
我的cli php在 D:\www\php44\cli\php.exe
我的start.bat脚本
@ECHO OFF
SET INSTROOT=c:\nanoweb
SET PARSERROOT=d:\www\php44\cli
d:\www\php44\cli\php.exe -c d:\www\php44\cli\php.ini c:\nanoweb\nanoweb.php --config=c:\nanoweb\nanoweb.conf
关于php命令行的使用问题可以参考php手册。执行php -h也可以获得帮助。
目前改变nanoweb的安装路径的问题还是个很复杂的问题。至少我就在这上面失败了。
nanoweb似乎可以在路由器等环境局促的情况下使用,可能会有人用它来解释php,从而使这些硬件
通过web管理的程序可以用php来编写,而替代传统的cgi方式。
在我的机子上安装后的nanoweb整个目录大小为473KB,加上php.exe和php.ini是500kB。
。占用空间664KB。如果考虑到再将需要的php4ts.dll(1.37MB)加进来。那么就超过了2MB。
关于http通信的学习2005-12-03 bailing
这几天在研究怎么解决反复fputs和fgets配套的问题。旧有的while(!feof)不行。
关于如下响应的解释
HTTP/1.1 200 OK
Date: Sat, 03 Dec 2005 02:44:53 GMT
Server: Apache/2.0.54 (Win32) PHP/5.0.5
X-Powered-By: PHP/5.0.5
Set-Cookie: ASP.NET_SessionId=y1cuxi45u1d0tgvkd1d1cbnh
Set-Cookie: PHPSESSID=ef73d9cfe4c93aa79a09b9fc109b53ca; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
Content-Language: UTF-8
2e73
来自c++faq对io的解释
http://www.sunistudio.com/cppfaq/input-output.html
[15.4] 为何我的输入处理会超过文件末尾?
[Recently changed so it uses new-style headers and the std:: syntax (on 7/00). Click here to go to the next FAQ in the "chain" of recent changes.]
因为只有在试图超过文件末尾后,eof标记才会被设置。也就是,在从文件读最后一个字节时,还没有设置 eof 标记。例如,假设输入流映射到键盘——在这种情况下,理论上来说,C++库不可能预知到用户所键入的字符是否是最后一个字符。
问题解决了。我写了8个函数解决了问题。
2005-12-08 16:57:47,终于发现了为什么服务器不返回302 found,而总是直接转到了200 ok.
经过用ultra compare对两个post表单的比较,发现有一点不同.
经过apache的表单。 QT:bQuery_y = 10.
经过smart HTTP debug截获的表单 QT:bQuery.y = 10.
由于php把QT:bQuery.y认作了QT:bQuery_y所以我一直以来提交的表单都是错误的。晕。
不过,由于我为了解决这个问题,学会了用sniffer pro看截获的tcp通信的报文,重新复习了tcp/ip四层协议。
并完全解决了多次fread的问题。可以说是意外的得益远大于这个小问题的解决了。
s修正符和m修正符2005-12-14 bailing
正则
preg_replace里用的pattern。
加不加\效果都一样
1:$reg = "/MySQL中文参考手册-(.*)/i";
2:$reg = "/MySQL中文参考手册\-(.*)/i";
这个正则可以在editplus中查到一块文字 ^.*\n
因为^后,则忽略\r\n标记,否则默认的是\r\n即停。
s修正符可以忽略\r\n标记。
#.*? #s
m符,多行查找模式。在这里可以用^表示行首
#^.*$#m
chm制作工具一览2005-12-14 bailing
quick chm
这个工具对目录重新排序,结果1,11,10都排到了一起。
而且不稀罕它的html编辑器功能,用editplus不好么,这个功能鸡肋,还影响速度。
这个工具的响应速度真的很慢。
新建工程居然只能在要编辑的目录下面。狂晕,加文件,文件夹也只能限制在本目录下。
visual chm
这个工具是英文的。然而编辑中文并不乱码。
操作界面不太友好。
easy chm
很不错的工具。
e书工场(eBook Workshop) V1.4
从它的介绍来看,制作exe格式电子书,支持加密。
unEbookWorkshop
添加时间:2005-7-17 10:15:14
更新时间:2005-7-17 10:15:14
是专门用来反编译 ebook Workshop( e书工场 )制作的EXE电子书源文件的工具软件(E书反编译工具),
unEbookEdit V1.64
添加时间:2003-7-31 15:20:00
更新时间:2003-7-31 15:20:00
目前唯一一款专门用来反编译用软件ebookeditpro制作的exe电子书源文件的工具软件(e书反编译工具)
E书伴侣(unWC) V1.89 Build 921
添加时间:2003-4-28
更新时间:2003-4-28
E书伴侣”(unWC)是一款专门用来释放用软件webcompiler制作的EXE电子书源文件的工具软件
chm2web
用来将电子书发布到网页上再合适不过了。超级强大,可惜兼容性不好,。
对mysql手册反编译,
easy chm /
quick chm/
PowerCHM v5.1 Build 0825 汉化版/
chm encoder
chm decompiler
电子文档处理器
都失败了,没有保留目录信息
CHM2HTML Pilot 成功反编译
converts CHM documents into a set of HTML files.
没有试验的是e书工场和visual chm
chm2word 挺不错。
Pocket CHM Pro用来制作pda阅读的chm文档,界面上看起来功能强大,不能正确获取目录信息。
问题已经解决了。
开始我反编译mysql中文手册得到了一个目录,目录下文件结构如下
mysqlcn-->
-->.....htm 所有的htm文件
---> property.hhc
-->image 目录
本意是用easychm将这个目录导入,重新制作带搜索的chm,因为原chm不支持搜索。然而导入了,原来的目录结构
却丢失了。就是说easychm并没有处理目录表文件 property.hhc.所以我抓狂了。换了10来种chm制作工具,都不处理
这个hhc文件。
今天早上2005-11-17也就是刚才,我去下载 Microsoft HTML Help Workshop,我想了解下这个被几乎所有chm制作工具都提到的工具。
我想这个工具可能包括手工选择目录表的功能吧。因为其他软件大多在介绍中说自己将Microsoft HTML Help Workshop
的功能集成为自动化过程。我不要自动化,自动化不认识hhc,没想到问题就解决了。
Microsoft HTML Help Workshop下载地址:
http://www.onlinedown.net/soft/33431.htm
相关阅读 更多 +