<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/podcast2.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/shanreneye" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/shanreneye" type="application/rss+xml"></fs:self_link><lastBuildDate>Fri, 13 Apr 2012 05:37:31 GMT</lastBuildDate><title>渊岳博客</title><description>关注互联网资讯，网站技术。</description><link>http://blog.shanreneye.com</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Fri, 13 Apr 2012 05:37:31 GMT</pubDate><item><title>发布striving3.0主题</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254690/6773107/1/item.html</link><content:encoded>&lt;p&gt;主题说明&lt;/p&gt;
&lt;p&gt;1 单栏设计，70%宽度，自动适应浏览器分辨率。&lt;/p&gt;
&lt;p&gt;2 固定导航条，暂且只支持以及导航，可扩展支持二级导航，需要自定义css。&lt;/p&gt;
&lt;p&gt;3 HTML5评论框样式，模仿WordPress默认主题twentyeleven，根据实际需要改动。&lt;/p&gt;
&lt;p&gt;4 后台支持三个自定义小工具，可在主题代码中自由扩展。&lt;/p&gt;
&lt;p&gt;5 jQuery动画特效。&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;主题风格比较简洁，适合不浮夸，不爱广告，不搞花哨的博主。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254690/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254690/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/wp/824.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>主题说明 1 单栏设计，70%宽度，自动适应浏览器分辨率。 2 固定导航条，暂且只支持以及导航，可扩展支持二级导航，需要自定义css。 3 HTML5评论框样式，模仿WordPress默认主题twentyeleven，根据实际需要改动。 4 后台支持三个自定义小工具，可在主题代码中自由扩展。 5 jQuery动画特效。 &amp;#160; 主题风格比较简洁，适合不浮夸，不爱广告，不搞花哨的博主。&lt;img src=&quot;http://www1.feedsky.com/t1/627254690/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254690/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>wodpress主题</category><category>striving</category><category>WordPress</category><pubDate>Fri, 13 Apr 2012 13:37:31 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/wp/824.html#comments</comments><guid isPermaLink="false">http://blog.shanreneye.com/wp/824.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/wp/824.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254690/6773107</fs:itemid></item><item><title>解决个人电脑几点小问题</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254691/6773107/1/item.html</link><content:encoded>&lt;p&gt;一，开机或联网后，&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/svchost&quot; title=&quot;查看 svchost 的全部文章&quot; target=&quot;_blank&quot;&gt;svchost&lt;/a&gt;&lt;/span&gt;.exe进程会占用大比例CPU，导致网页很难打开，这种情况出现几分钟后便会恢复正常。下面的方法并没有真正解决，而是临时解决。&lt;/p&gt;
&lt;p&gt;方法：关闭windows自动更新，svchost占用大比例CPU情况终止。&lt;/p&gt;
&lt;p&gt;说明：没有windows自动更新后，需要定时手动更新。&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;二，删除&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/win7&quot; title=&quot;查看 win7 的全部文章&quot; target=&quot;_blank&quot;&gt;win7&lt;/a&gt;&lt;/span&gt;启动时GRUB for &lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/dos&quot; title=&quot;查看 dos 的全部文章&quot; target=&quot;_blank&quot;&gt;dos&lt;/a&gt;&lt;/span&gt;选项。&lt;/p&gt;
&lt;p&gt;方法：在C盘，boot.ini文件（默认隐藏，更改文件夹选项可看到），去掉有GRUB的一行即可。&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;三，删除早期版本windows启动选项&lt;/p&gt;
&lt;p&gt;方法：ctril+r,输出cmd,输入 bcdedit /delete {ntldr} /f （斜杠前面都有空格。）&lt;/p&gt;
&lt;p&gt;说明：开机启动时不会看到本选项了，但是windows.old文件夹还在。网上有方法，这里不多嘴。&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;之前用xp,ubantu,虚拟机，现在都卸掉了，只剩win7系统。所有留下了上面的这些问题，早上起来抽空解决了一下。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254691/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254691/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/computer/823.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>一，开机或联网后，svchost.exe进程会占用大比例CPU，导致网页很难打开，这种情况出现几分钟后便会恢复正常。下面的方法并没有真正解决，而是临时解决。 方法：关闭windows自动更新，svchost占用大比例CPU情况终止。 说明：没有windows自动更新后，需要定时手动更新。 &amp;#160; 二，删除win7启动时GRUB for dos选项。 方法：在C盘，boot.ini文件（默认隐藏，更改文件夹选项可看到），去掉有GRUB的一行即可。 &amp;#160; 三，删除早期版本windows启动选项 方法：ctril+r,输出cmd,输入 bcdedit /delete {ntldr} /f （斜杠前面都有空格。） 说明：开机启动时不会看到本选项了，但是windows.old文件夹还在。网上有方法，这里不多嘴。 &amp;#160; 之前用xp,ubantu,虚拟机，现在都卸掉了，只剩win7系统。所有留下了上面的这些问题，早上起来抽空解决了一下。&lt;img src=&quot;http://www1.feedsky.com/t1/627254691/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254691/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>svchost</category><category>win7</category><category>grub</category><category>dos</category><category>电脑知识</category><pubDate>Thu, 12 Apr 2012 10:14:08 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/computer/823.html#comments</comments><guid isPermaLink="false">http://blog.shanreneye.com/computer/823.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/computer/823.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254691/6773107</fs:itemid></item><item><title>纯css实现网页背景渐变</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254692/6773107/1/item.html</link><content:encoded>&lt;blockquote&gt;&lt;p&gt;&amp;lt;html&amp;gt;      &lt;br /&gt;&amp;lt;head&amp;gt;       &lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot;&amp;gt;       &lt;br /&gt;body{       &lt;br /&gt;max-width:100%;       &lt;br /&gt;height:100%;       &lt;br /&gt;filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#FF0099FF,endcolorstr=#FF12FFFF,gradientType=0);       &lt;br /&gt;-ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#000099FF,endcolorstr=#ff12FFFF,gradientType=0);/*IE8*/       &lt;br /&gt;background:#ededed; /* 一些不支持背景&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/gradient&quot; title=&quot;查看 渐变 的全部文章&quot; target=&quot;_blank&quot;&gt;渐变&lt;/a&gt;&lt;/span&gt;的浏览器 */       &lt;br /&gt;background:-moz-linear-gradient(top, #0099FF, rgba(19, 255, 255, 0.5)); /*firefox*/       &lt;br /&gt;background:-webkit-gradient(linear, left top, left bottom, from(#0099ff), to(rgba(19, 255, 255, 0.5)));/*chrome*/       &lt;br /&gt;background:-o-linear-gradient(top, #0099FF, rgba(19, 255, 255, 0.5));       &lt;br /&gt;}       &lt;br /&gt;&amp;lt;/style&amp;gt;       &lt;br /&gt;&amp;lt;/head&amp;gt;       &lt;br /&gt;&amp;lt;body&amp;gt;       &lt;br /&gt;&amp;lt;/body&amp;gt;       &lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;!--     &lt;br /&gt;参数说明：     &lt;br /&gt;filter:     &lt;br /&gt;opacity-透明度，0-100。0代表完全透明，100代表完全不透明。Finishopacity是一个可选项，用来设置结束时的透明度，从而达到一种渐变效果，它的值也是从0到100。StartX和StartY代表渐变透明效果的开始坐标，finishX和finishY代表渐变透明效果的结束坐标。Style参数指定了透明区域的形状特征。其中0代表统一形状；1代表线形；2代表放射状；3代表长方形。     &lt;br /&gt;progid:DXImageTransform.Microsoft.Gradient(enabled=bEnabled,startColorStr=iWidth,endColorStr=iWidth);     &lt;br /&gt;enabled:可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true: 默认值。滤镜激活。 false:滤镜被禁止。     &lt;br /&gt;startColorStr:可选项。字符串(String)。设置或检索色彩渐变的开始颜色和透明度。 其格式为 #AARRGGBB 。 AA 、 RR 、 GG 、 BB 为十六进制正整数。取值范围为 00 - FF 。 RR 指定红色值， GG 指定绿色值， BB 指定蓝色值，参阅 #RRGGBB 颜色单位。 AA 指定透明度。 00 是完全透明。 FF是完全不透明。超出取值范围的值将被恢复为默认值。 取值范围为 #FF000000 - #FFFFFFFF 。默认值为 #FF0000FF 。不透明蓝色。     &lt;br /&gt;StartColor:可读写。整数值(Integer)。设置或检索色彩渐变的开始颜色。 取值范围为 0 - 4294967295 。 0 为透明。 4294967295 为不透明白色。&lt;/p&gt;
&lt;p&gt;IE8中，-ms-filter是filter的别名，两者区别是-ms-filter的属相值必须被单引号或双引号包围，而filter中则不是必须，而在IE8之前的版本中，filter的属性值必须不被单引号或双引号包。&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;
&lt;p&gt;--&amp;gt;&lt;/p&gt;
&lt;p&gt;未完待续！&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254692/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254692/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/wangzhan/817.html/feed</wfw:commentRss><slash:comments>3</slash:comments><description>&amp;#60;html&amp;#62; &amp;#60;head&amp;#62; &amp;#60;style type=&amp;#34;text/css&amp;#34; rel=&amp;#34;stylesheet&amp;#34;&amp;#62; body{ max-width:100%; height:100%; filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#FF0099FF,endcolorstr=#FF12FFFF,gradientType=0); -ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#000099FF,endcolorstr=#ff12FFFF,gradientType=0);/*IE8*/ background:#ededed; /* 一些不支持背景渐变的浏览器 */ background:-moz-linear-gradient(top, #0099FF, rgba(19, 255, 255, 0.5)); /*firefox*/ background:-webkit-gradient(linear, left top, left bottom, from(#0099ff), to(rgba(19, 255, 255, 0.5)));/*chrome*/ background:-o-linear-gradient(top, #0099FF, rgba(19, 255, 255, 0.5)); } &amp;#60;/style&amp;#62; &amp;#60;/head&amp;#62; &amp;#60;body&amp;#62; &amp;#60;/body&amp;#62; &amp;#60;/html&amp;#62; &amp;#60;!-- 参数说明： filter: opacity-透明度，0-100。0代表完全透明，100代表完全不透明。Finishopacity是一个可选项，用来设置结束时的透明度，从而达到一种渐变效果，它的值也是从0到100。StartX和StartY代表渐变透明效果的开始坐标，finishX和finishY代表渐变透明效果的结束坐标。Style参数指定了透明区域的形状特征。其中0代表统一形状；1代表线形；2代表放射状；3代表长方形。 [...]&lt;img src=&quot;http://www1.feedsky.com/t1/627254692/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254692/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>技术文档</category><category>渐变</category><category>css3</category><pubDate>Tue, 10 Apr 2012 19:13:11 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/wangzhan/817.html#comments</comments><guid isPermaLink="false">http://blog.shanreneye.com/wangzhan/817.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/wangzhan/817.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254692/6773107</fs:itemid></item><item><title>127.0.0.1可用localhost不可用</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254693/6773107/1/item.html</link><content:encoded>&lt;p&gt;之前一直用xp系统，在公司用惯了win7，所以把自个的系统换成了win7。然后安装了&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/wamp&quot; title=&quot;查看 wamp 的全部文章&quot; target=&quot;_blank&quot;&gt;wamp&lt;/a&gt;&lt;/span&gt;的集成开发环境，然后修改了&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/hosts&quot; title=&quot;查看 hosts 的全部文章&quot; target=&quot;_blank&quot;&gt;hosts&lt;/a&gt;&lt;/span&gt;表，然后就发现 127.0.0.1能打开本地系统，而&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http://localhost&quot;&gt;http://localhost&lt;/a&gt;就他娘的出现403 forbidden错误。&lt;/p&gt;
&lt;p&gt;在网上查看了一些解决办法，或者改http.conf，或者改hosts。前者简直误人子弟，英文域名无法跳转，ip可用，显然就是域名和ip之间解析的问题，本地的系统问题肯定在hosts表。&lt;/p&gt;
&lt;p&gt;未解决前的hosts表截图：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/04/QQ20120409100145.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;QQ截图20120409100145&quot; border=&quot;0&quot; alt=&quot;QQ截图20120409100145&quot; src=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/04/QQ20120409100145_thumb.png&quot; width=&quot;653&quot; height=&quot;104&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;下面ping一下&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/localhost&quot; title=&quot;查看 localhost 的全部文章&quot; target=&quot;_blank&quot;&gt;localhost&lt;/a&gt;&lt;/span&gt;,结果截图&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/04/QQ20120409100329.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;QQ截图20120409100329&quot; border=&quot;0&quot; alt=&quot;QQ截图20120409100329&quot; src=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/04/QQ20120409100329_thumb.png&quot; width=&quot;657&quot; height=&quot;287&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;看到没有，hosts表中是::1&amp;#160; localhost ，ping出来的是::1 是IP么？？&lt;/p&gt;
&lt;p&gt;下面看看修改后的hosts表&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/04/QQ20120409100352.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;QQ截图20120409100352&quot; border=&quot;0&quot; alt=&quot;QQ截图20120409100352&quot; src=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/04/QQ20120409100352_thumb.png&quot; width=&quot;658&quot; height=&quot;110&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/04/QQ20120409100421.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;QQ截图20120409100421&quot; border=&quot;0&quot; alt=&quot;QQ截图20120409100421&quot; src=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/04/QQ20120409100421_thumb.png&quot; width=&quot;648&quot; height=&quot;190&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这下好了，localhost解析到127.0.0.1上，搞定。&lt;/p&gt;
&lt;p&gt;小结：遇到问题自己多想想，不要轻信网上的言论，包括本篇日记，因为眼睛看到的一模一样的东西，也许本质上千差万别！&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254693/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254693/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/wangzhan/816.html/feed</wfw:commentRss><slash:comments>2</slash:comments><description>之前一直用xp系统，在公司用惯了win7，所以把自个的系统换成了win7。然后安装了wamp的集成开发环境，然后修改了hosts表，然后就发现 127.0.0.1能打开本地系统，而http://localhost就他娘的出现403 forbidden错误。 在网上查看了一些解决办法，或者改http.conf，或者改hosts。前者简直误人子弟，英文域名无法跳转，ip可用，显然就是域名和ip之间解析的问题，本地的系统问题肯定在hosts表。 未解决前的hosts表截图： 下面ping一下localhost,结果截图 看到没有，hosts表中是::1&amp;#160; localhost ，ping出来的是::1 是IP么？？ 下面看看修改后的hosts表 这下好了，localhost解析到127.0.0.1上，搞定。 小结：遇到问题自己多想想，不要轻信网上的言论，包括本篇日记，因为眼睛看到的一模一样的东西，也许本质上千差万别！&lt;img src=&quot;http://www1.feedsky.com/t1/627254693/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254693/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>技术文档</category><category>linux</category><category>hosts</category><category>wamp</category><category>apache</category><category>localhost</category><pubDate>Mon, 09 Apr 2012 10:12:04 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/wangzhan/816.html#comments</comments><guid isPermaLink="false">http://blog.shanreneye.com/wangzhan/816.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/wangzhan/816.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254693/6773107</fs:itemid></item><item><title>php,smarty,Jcrop上传裁剪头像</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254694/6773107/1/item.html</link><content:encoded>&lt;p&gt;&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/jcrop&quot; title=&quot;查看 Jcrop 的全部文章&quot; target=&quot;_blank&quot;&gt;Jcrop&lt;/a&gt;&lt;/span&gt;是jquery的一个插件，专门用来上传头像并且选择修剪。这两天一直再研究这个插件，才疏学浅啊，很多滴不懂。&lt;/p&gt;
&lt;p&gt;我很是想不通啊，我一个做代码的，为什么要我搞JS，jquery这些东西？？现在做的这个项目用了&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/smarty&quot; title=&quot;查看 smarty 的全部文章&quot; target=&quot;_blank&quot;&gt;smarty&lt;/a&gt;&lt;/span&gt;模板，公司那个做前端的就真的只给做HTML和css，js难道不是前段范畴么？搞得哥现在改前端，写&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/php&quot; title=&quot;查看 PHP 的全部文章&quot; target=&quot;_blank&quot;&gt;PHP&lt;/a&gt;&lt;/span&gt;，做数据库，尼玛都搞了，就差PS构图了。&lt;/p&gt;
&lt;p&gt;废话不多说，上代码。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;lt;div&amp;#160; class=&amp;quot;myselfDown&amp;quot; id=&amp;quot;myselfDown1&amp;quot; style=&amp;quot; position:absolute;left:-900px;top:150px; height:600px&amp;quot;&amp;gt;      &lt;br /&gt;&amp;lt;form method=&amp;quot;post&amp;quot; action=&amp;quot;index.php?menu=member&amp;amp;sub=head&amp;amp;act=upload&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt;       &lt;br /&gt;&amp;lt;input type=&amp;quot;file&amp;quot; name=&amp;quot;inputfile&amp;quot; &amp;gt;       &lt;br /&gt;&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;上传&amp;quot; style=&amp;quot;width:100px; height:30px; background:#666; color:#fff; font-size:14px; font-weight:bold;&amp;quot;&amp;gt;       &lt;br /&gt;&amp;lt;/form&amp;gt;       &lt;br /&gt;&amp;lt;div &amp;gt;[({$str})][({$str1})]&amp;lt;/div&amp;gt;&amp;lt;br /&amp;gt;       &lt;br /&gt;&amp;lt;div style=&amp;quot;float:left; width:650px; height:400px; overflow:hidden;&amp;quot;&amp;gt;&amp;lt;img id=&amp;quot;target&amp;quot; src=&amp;quot;[({$str2})]&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;       &lt;br /&gt;&amp;lt;div style=&amp;quot;width:190px;height:195px;margin:10px;overflow:hidden; float:left;&amp;quot;&amp;gt;&amp;lt;img&amp;#160; style=&amp;quot;float:left;&amp;quot; id=&amp;quot;preview2&amp;quot; src=&amp;quot;[({$str2})]&amp;quot; &amp;gt;&amp;lt;/div&amp;gt;       &lt;br /&gt;&amp;lt;div style=&amp;quot;width:48px;height:48px;margin:10px;overflow:hidden; float:left;&amp;quot;&amp;gt;&amp;lt;img&amp;#160; style=&amp;quot;float:left;&amp;quot; id=&amp;quot;preview&amp;quot; src=&amp;quot;[({$str2})]&amp;quot; &amp;gt;&amp;lt;/div&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;[({if $str2 != ''})]       &lt;br /&gt;&amp;lt;div style=&amp;quot;margin:15px;&amp;quot;&amp;gt;       &lt;br /&gt;&amp;lt;form action=&amp;quot;index.php?menu=member&amp;amp;sub=head&amp;amp;act=cut&amp;quot; method=&amp;quot;post&amp;quot; onsubmit=&amp;quot;return checkCoords();&amp;quot;&amp;gt;       &lt;br /&gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; id=&amp;quot;x&amp;quot; name=&amp;quot;x&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; id=&amp;quot;y&amp;quot; name=&amp;quot;y&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; id=&amp;quot;w&amp;quot; name=&amp;quot;w&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; id=&amp;quot;h&amp;quot; name=&amp;quot;h&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;the_pic&amp;quot; value=&amp;quot;[({$str2})]&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;保存&amp;quot; style=&amp;quot;width:100px; height:30px; background:#666; color:#fff; font-size:14px; font-weight:bold&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;lt;/form&amp;gt;       &lt;br /&gt;&amp;lt;/div&amp;gt;       &lt;br /&gt;[({/if})]&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;上面是相关部分代码，细心的同学发现了没有，有smarty啊，smarty!&lt;/p&gt;
&lt;p&gt;稍微解释一下。&lt;/p&gt;
&lt;p&gt;两个表单，一个上传，另一个裁剪上传的图片成小图。第二个表单中隐藏域中几个x,y,w,h是所裁图片左上角的坐标和宽高。注意哈我提交的地址。下面是PHP部分。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;if($menu=='member')      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($sub=='head')&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $images = new Images(&amp;quot;inputfile&amp;quot;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $str=$str1=$str2='';       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if ($_GET['act'] == 'cut'){&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $image = $_POST['the_pic'];       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $res = $images-&amp;gt;thumb($image,false,1);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($res == false){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $str=&amp;quot;裁剪失败&amp;quot;;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }elseif(is_array($res)){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $str='&amp;lt;img src=&amp;quot;'.$res['big'].'&amp;quot; style=&amp;quot;margin:10px;&amp;quot;&amp;gt;';       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $str1='&amp;lt;img src=&amp;quot;'.$res['small'].'&amp;quot; style=&amp;quot;margin:10px;&amp;quot;&amp;gt;';       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sql=&amp;quot;update vgoo_user set headimg='&amp;quot;.$res['small'].&amp;quot;' where username='$member' or vgcard='$member' or mobilephone='$member'&amp;quot;;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $vgSql-&amp;gt;ExecuteNoneQuery($sql);&amp;#160;&amp;#160;&amp;#160; //小图地址写进用户表中       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }elseif(is_string($res)){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $str= '&amp;lt;img src=&amp;quot;'.$res.'&amp;quot;&amp;gt;';       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sql=&amp;quot;update vgoo_user set headimg='$res' where username='$member' or vgcard='$member' or mobilephone='$member'&amp;quot;;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $vgSql-&amp;gt;ExecuteNoneQuery($sql);&amp;#160;&amp;#160; //原图够小的话，原图地址写进数据表中       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }elseif(isset($_GET['act']) &amp;amp;&amp;amp; $_GET['act'] == &amp;quot;upload&amp;quot;){&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //$path = $images-&amp;gt;move_uploaded();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $pic=$_FILES['inputfile'];       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $path = '/uploads/head/'.MyDate('Ym', time());       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $path = $path.'/'.uploadfile2($pic, ROOT.$path);&amp;#160;&amp;#160; //这里用了一个公用函数，商品图片的。最后贴出。       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $images-&amp;gt;thumb($path,false,0);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //文件比规定的尺寸大则生成缩略图，小则保持原样       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($path == false){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $images-&amp;gt;get_errMsg();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }else{       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $str2= &amp;quot;.&amp;quot;.$path;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $smarty-&amp;gt;assign('str',$str);&amp;#160;&amp;#160;&amp;#160; //给smarty变量赋值，前台调用。看着前段代码，琢磨吧！       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $smarty-&amp;gt;assign('str1',$str1);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $smarty-&amp;gt;assign('str2',$str2);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $smarty-&amp;gt;display('person.html');&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; …&amp;#160;&amp;#160; //与本文无关的代码&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;uploadfile2()函数。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;function uploadfile2($file, $path = '', $imgname = ''){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; global $xs_uplaod_size;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; xmkdir($path);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $file['tmp_name'] = stripslashes($file['tmp_name']);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (!is_array($file) || $file['error'] != 0){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 'msg_upload_nofiles';       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; list($width, $height, $type, $attr) = getimagesize($file['tmp_name']);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //只能上传gif|jpg|png图片       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $imgtype = array(1 =&amp;gt; '.gif', 2 =&amp;gt; '.jpg', 3 =&amp;gt; '.png',6=&amp;gt;'.bmp');       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (empty($imgtype[$type])){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; unlink($file['tmp_name']);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 'msg_upload_noimg';       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if($file['size'] &amp;gt; $xs_uplaod_size){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; unlink($file['tmp_name']);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 'msg_upload_filesize';       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //为图片重新命名       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if ($imgname == ''){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $imgname = time().'_'.mt_rand(0, 9999).$imgtype[$type];       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }else{       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $imgname .= $imgtype[$type];       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $filename = $path.'/'.$imgname;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //&amp;#160; uploads/201203/xxxx.jpg       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (file_exists($filename)){       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 'msg_upload_fileexist';       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //如果不缩略，直接移动       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if(move_uploaded_file($file['tmp_name'], $filename)){&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $imgname;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }else{       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 'msg_upload_othererror';       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&amp;#160; &lt;br /&gt;}&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;HTML是需要几砸文件，列出如下。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;templets/js/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;      &lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;templets/js/jquery.Jcrop.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;       &lt;br /&gt;&amp;lt;link type=&amp;quot;text/css&amp;quot;&amp;#160; rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;templets/style/jquery.Jcrop.css&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;全部说完了。如果你来&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.shanreneye.com/index.php/tag/google&quot; title=&quot;google&quot; target=&quot;_blank&quot;&gt;google&lt;/a&gt;&lt;/span&gt;,baidu来找源码，那就抱歉了。这里只提供一个思路，适合用smarty建站的朋友。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254694/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254694/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/wangzhan/796.html/feed</wfw:commentRss><slash:comments>3</slash:comments><description>Jcrop是jquery的一个插件，专门用来上传头像并且选择修剪。这两天一直再研究这个插件，才疏学浅啊，很多滴不懂。 我很是想不通啊，我一个做代码的，为什么要我搞JS，jquery这些东西？？现在做的这个项目用了smarty模板，公司那个做前端的就真的只给做HTML和css，js难道不是前段范畴么？搞得哥现在改前端，写PHP，做数据库，尼玛都搞了，就差PS构图了。 废话不多说，上代码。 &amp;#60;div&amp;#160; class=&amp;#34;myselfDown&amp;#34; id=&amp;#34;myselfDown1&amp;#34; style=&amp;#34; position:absolute;left:-900px;top:150px; height:600px&amp;#34;&amp;#62; &amp;#60;form method=&amp;#34;post&amp;#34; action=&amp;#34;index.php?menu=member&amp;#38;sub=head&amp;#38;act=upload&amp;#34; enctype=&amp;#34;multipart/form-data&amp;#34;&amp;#62; &amp;#60;input type=&amp;#34;file&amp;#34; name=&amp;#34;inputfile&amp;#34; &amp;#62; &amp;#60;input type=&amp;#34;submit&amp;#34; value=&amp;#34;上传&amp;#34; style=&amp;#34;width:100px; height:30px; background:#666; color:#fff; font-size:14px; font-weight:bold;&amp;#34;&amp;#62; &amp;#60;/form&amp;#62; &amp;#60;div &amp;#62;[({$str})][({$str1})]&amp;#60;/div&amp;#62;&amp;#60;br /&amp;#62; &amp;#60;div style=&amp;#34;float:left; width:650px; height:400px; overflow:hidden;&amp;#34;&amp;#62;&amp;#60;img id=&amp;#34;target&amp;#34; src=&amp;#34;[({$str2})]&amp;#34;&amp;#62;&amp;#60;/div&amp;#62; &amp;#60;div style=&amp;#34;width:190px;height:195px;margin:10px;overflow:hidden; float:left;&amp;#34;&amp;#62;&amp;#60;img&amp;#160; style=&amp;#34;float:left;&amp;#34; id=&amp;#34;preview2&amp;#34; src=&amp;#34;[({$str2})]&amp;#34; &amp;#62;&amp;#60;/div&amp;#62; &amp;#60;div style=&amp;#34;width:48px;height:48px;margin:10px;overflow:hidden; float:left;&amp;#34;&amp;#62;&amp;#60;img&amp;#160; style=&amp;#34;float:left;&amp;#34; id=&amp;#34;preview&amp;#34; src=&amp;#34;[({$str2})]&amp;#34; &amp;#62;&amp;#60;/div&amp;#62; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [({if $str2 != [...]&lt;img src=&quot;http://www1.feedsky.com/t1/627254694/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254694/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>技术文档</category><category>jQuery</category><category>smarty</category><category>Jcrop</category><category>PHP</category><pubDate>Thu, 22 Mar 2012 13:43:12 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/wangzhan/796.html#comments</comments><guid isPermaLink="false">http://blog.shanreneye.com/wangzhan/796.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/wangzhan/796.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254694/6773107</fs:itemid></item><item><title>迁移博客</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254695/6773107/1/item.html</link><content:encoded>&lt;p&gt;前几天和朋友合租了一个美国的&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/vps&quot; title=&quot;查看 vps 的全部文章&quot; target=&quot;_blank&quot;&gt;vps&lt;/a&gt;&lt;/span&gt;主机，价格还公道，4点几个美元一月，速度不算快，也不是很慢。&lt;/p&gt;
&lt;p&gt;建独立博客已经快一年了，之前一直用着域名商天性互联的免费主机。刚开始的他们服务很好，速度也快。上个月开始吧，他们的免费空间遭遇了黑客攻击，免费空间也就挂掉了，这也是我最近都没怎么更新博客的原因。&lt;/p&gt;
&lt;p&gt;这段时间工作也挺忙的，租的房子里也还没有联网，所以一直没有时间没有机会搞博客的事情。&lt;/p&gt;
&lt;p&gt;昨天玩了下vps，感觉很好的。虽然学习过&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/linux&quot; title=&quot;查看 linux 的全部文章&quot; target=&quot;_blank&quot;&gt;linux&lt;/a&gt;&lt;/span&gt;，但是一直没怎么用，昨天写了几行命名，竟然只记得rm了。打算等本月结束，回学校答辩的时候，好好复习下linux。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254695/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254695/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/zatan/791.html/feed</wfw:commentRss><slash:comments>3</slash:comments><description>前几天和朋友合租了一个美国的vps主机，价格还公道，4点几个美元一月，速度不算快，也不是很慢。 建独立博客已经快一年了，之前一直用着域名商天性互联的免费主机。刚开始的他们服务很好，速度也快。上个月开始吧，他们的免费空间遭遇了黑客攻击，免费空间也就挂掉了，这也是我最近都没怎么更新博客的原因。 这段时间工作也挺忙的，租的房子里也还没有联网，所以一直没有时间没有机会搞博客的事情。 昨天玩了下vps，感觉很好的。虽然学习过linux，但是一直没怎么用，昨天写了几行命名，竟然只记得rm了。打算等本月结束，回学校答辩的时候，好好复习下linux。&lt;img src=&quot;http://www1.feedsky.com/t1/627254695/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254695/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>vps</category><category>linux</category><category>随笔杂谈</category><pubDate>Mon, 19 Mar 2012 12:32:52 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/zatan/791.html#comments</comments><guid isPermaLink="false">http://www.shanreneye.com/index.php/zatan/791.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/zatan/791.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254695/6773107</fs:itemid></item><item><title>中国站长必须知道的五十个问题</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254696/6773107/1/item.html</link><content:encoded>&lt;p&gt;来源：&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http://lusongsong.com&quot;&gt;http://lusongsong.com&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;做一个中国&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/%e7%ab%99%e9%95%bf&quot; title=&quot;查看 站长 的全部文章&quot; target=&quot;_blank&quot;&gt;站长&lt;/a&gt;&lt;/span&gt;，如果以下50个问题，你不知道，你会很吃亏的，也有可能你是一个倒霉的站长。&lt;/p&gt;
&lt;p&gt;五十个问题，有四十个你能做到，那你才是及格的站长，这是50个站长起码知道通晓的问题。&lt;/p&gt;
&lt;p&gt;1. 做站长 可以不知道asp php c++ net 但是不能不知道html语言。如果不知道一个星期搞定他。连html都不知道，以后链接怎么做，技术偷偷糊弄你几下都不知道。&lt;/p&gt;
&lt;p&gt;2.做站长，一定要知道国内的小代理信不过，如果域名你是在小代理那里注册，估计等你做大了，想转移都难，很多网站做到一半，发现代理跑了，消失了。&lt;/p&gt;
&lt;p&gt;3.必须知道顶级注册商，必须知道域名所有权，必须会使用whois 来查询域名是否自己的。&lt;/p&gt;
&lt;p&gt;4. 必须知道只注册.net&amp;#160;&amp;#160; .cn 是没有用的，你必须拿到.com 不然痛苦伴你一生。&lt;/p&gt;
&lt;p&gt;5.必须知道虚拟主机没有不限制iis的，说不限制iis，都是骗你的。&lt;/p&gt;
&lt;p&gt;6.必须认识100个站长，必须有最心腹的5个站长。&lt;/p&gt;
&lt;p&gt;7.必须加入5个站长群，必须知道你的同行同领域的10个网站的最新动态。&lt;/p&gt;
&lt;p&gt;8.必须有2个qq，一个qq随时可以做刺客或闪客。刺探测试别人的情报，为自己所用。&lt;/p&gt;
&lt;p&gt;9.必须知道怎么网络赚钱，必须通晓5家联盟产品，随时放联盟广告。&lt;/p&gt;
&lt;p&gt;10.必须知道&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/seo-2&quot; title=&quot;查看 seo 的全部文章&quot; target=&quot;_blank&quot;&gt;seo&lt;/a&gt;&lt;/span&gt;，必须知道怎么作弊搜索，这个是站长最起码的要求。&lt;/p&gt;
&lt;p&gt;11.必须至少拥有3个域名，2个空间，不然不是站长。&lt;/p&gt;
&lt;p&gt;12.必须要学会尊重，&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.shanreneye.com/index.php/tag/hulianwang&quot; title=&quot;互联网&quot; target=&quot;_blank&quot;&gt;互联网&lt;/a&gt;&lt;/span&gt;上每个人都是牛人，每个能上网的都是牛人，可能你的傲慢失去一次伟大的机会&lt;/p&gt;
&lt;p&gt;13.必须学会偷盗，别人有好的，你必须迅速能拿下，据为己有，这样才能有超越。&lt;/p&gt;
&lt;p&gt;14.必须有2个精通asp php等网络技术的朋友，随时能帮上你。&lt;/p&gt;
&lt;p&gt;15.必须有2个不同领域的黑客朋友，万一你被搞了，有人能帮你。&lt;/p&gt;
&lt;p&gt;16.必须有2个域名界的朋友，碰到好东西，有人帮你买卖指导。&lt;/p&gt;
&lt;p&gt;17.必须要学会软文，一个站长不会写软文，那你就只有吃软饭了。&lt;/p&gt;
&lt;p&gt;18.必须要会炒作，不能狗尾续貂，也要能一鸣惊人，放屁都要撑点力气变成放炮，网络不炒作，不能成气候&lt;/p&gt;
&lt;p&gt;19.必须精通搜索，凡是有不懂的，立即 bidu&amp;#160; it goolge it 别老问qq&lt;/p&gt;
&lt;p&gt;20.必须早上2点睡觉，1点前睡觉的不是站长。&lt;/p&gt;
&lt;p&gt;21.必须一天工作15小时以上，不然成就不了互联网告诉公路，你看高速公路上哪个驾驶员不是长途跋涉的。&lt;/p&gt;
&lt;p&gt;22.必须要熟悉几个站长相关的网站：www.donews.com 看看精英嘴脸冒泡的地方 www.chinaz.com 看看能不能不花钱弄到源码的地方，www.im286.com&amp;#160; 看看站长吹水的地方，www.admin5.com 学习软文炒作的地方。www.csdn.net 找程序员帮手的地方，www.eachnic.com 找点垃圾域名的地方。&lt;/p&gt;
&lt;p&gt;23.必须要知道网络怎么赚钱，网站是依靠流量来赚钱的，而不是依靠欺骗下线来赚钱的。&lt;/p&gt;
&lt;p&gt;24.必须要知道小联盟，日付联盟都是日你欺骗你的。&lt;/p&gt;
&lt;p&gt;25.必须要知道高价买你广告的人，比你聪明，都是欺骗你的流量来挂木马病毒的。&lt;/p&gt;
&lt;p&gt;26.必须要熟悉国内500个论坛，而且会使用论坛群发机的。&lt;/p&gt;
&lt;p&gt;27.必须通晓网络现成的cms的，现在手工做站，原创做站的都是劳模。也是老马。拼的老命赚不了钱的。所以必须学会copy，必须学会采集。&lt;/p&gt;
&lt;p&gt;28.必须放弃做门户，做大的理念，目前国内没有一个人，没有一个个人网站能做到门户，做一个最小的领域，你就已经成功了。&lt;/p&gt;
&lt;p&gt;29.必须学会看alexa。 不知道世界排名怎么看的人，没有动力的&lt;/p&gt;
&lt;p&gt;30.必须要会用统计，知道分析流量来源和趋势，知道自己的用户群体在哪里。&lt;/p&gt;
&lt;p&gt;31.必须要知道中国的50家免费收录网站的网址站信息。&lt;/p&gt;
&lt;p&gt;32.必须要知道什么是色情，什么是违法。告诉我，什么是色情？不激发别人的那个方面的欲望。和性感的图片，更不能露，你不是qihoo，你不是信息港，你是个人，所以你必须拒绝色情的边。什么是违法，搜索一下&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.shanreneye.com/index.php/category/fazhi&quot; title=&quot;法律&quot; target=&quot;_blank&quot;&gt;法律&lt;/a&gt;&lt;/span&gt;方面的书，把互联网法规多读几遍。&lt;/p&gt;
&lt;p&gt;33.必须知道备案，必须响应号召，对了所有的互联网号召条文都是怎么传达给百万的个人站长呢？有没有地方？给你admin5做个广告。希望你能往这个方面去发展一下，成为信息法律的传达地。&lt;/p&gt;
&lt;p&gt;34. 知道有哪些是绝对不能碰的地盘吗？情色贴图论坛，不能做医药，不能做六合彩赌博，不能做那个蛤蟆功的。不能做一切反动的东西，包括反百度，（你反了，百度 怎么活），反黑客（你反了，人家怎么过）。另外还不能做涉及到别人隐私方面的。还有不能做涉及到版权方面的。所以 音乐不能做，下载不能做，图片不能做，小说不能做，文字不能做，电影不能做，另外链接如果有非法链接，也是禁止的，所以网址站也不能做。&lt;/p&gt;
&lt;p&gt;35.做站长必须知道pv ip pr iq 等等这些基本概念，不然你交流很困难，你甚至做网站都找不到北。&lt;/p&gt;
&lt;p&gt;36.做站长，必须知道有漏洞，必须知道备份，必须知道保密。必须知道机密和你的网站核心。&lt;/p&gt;
&lt;p&gt;37.做站长必须熟悉域名行情，主机行情，联盟行情 这些密切相关的行情，告诉我，这些行情都是哪里来？   &lt;br /&gt;这问题又回到了问题22.&lt;/p&gt;
&lt;p&gt;38.做站长打字速度必须超过一分钟50个字，必须拥有同时与10个人交流的能力。&lt;/p&gt;
&lt;p&gt;39.做站长必须学会随时改变，今天关站，明天开新站，如何迅速的转行，如何迅速的变动，改版。&lt;/p&gt;
&lt;p&gt;40.做站长必须知道怎么迅速的提高流量，必须闭眼能知道迅速推广你的网站的50条方法。&lt;/p&gt;
&lt;p&gt;41. 站长的起码流量要求是这样：1000ip以下是个人主页。10000ip以下是爱好者做着玩的，3万ip以下是小站长，10万ip以上是中等站长，20万 ip以上是混的不错的站长，50万ip以上称为大站长，这个时候你才可以刁起来，才可以不理人，才可以出席各种会议。100万ip以上，才能被称为偶像。 看清流量，看ip说话，所以别看到站长就膜拜。&lt;/p&gt;
&lt;p&gt;42.站长必须不考虑融资，那些融资，投资都=pz 你要考虑融资的事情了，告诉你，你已经超越站长了，就如同离团了一样。&lt;/p&gt;
&lt;p&gt;43.站长最关心的10件事情，你必须每天必到，缺一不可：看统计，看新闻，搞流量，赚钱 qq交流群，泡论坛，看邮件，看搜索收录，加内容，做一件&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.shanreneye.com/index.php/category/gonyi&quot; title=&quot;公益&quot; target=&quot;_blank&quot;&gt;公益&lt;/a&gt;&lt;/span&gt;事情。&lt;/p&gt;
&lt;p&gt;44. 站长必须是苦行僧，站长的帅气不在外表，并且常常流量与外表成反比。你想酷，你想潇洒，就别做站长。对mm，也一样，你想闭月羞花，你想沉鱼落雁，远离站 长。站长是职业疾病最严重的群体，比下矿井的，比炼冶金的要中毒的更深。大街上你看到衣衫褴褛，神智萎靡，出手大方的那就是站长。&lt;/p&gt;
&lt;p&gt;45.站长都没有好口才，一流的写作和宣传能力，在网络上无所不能，绝技丛生，在现实中犹如虎落平阳。这个方面，结合44点，希望通过此文，有好事者能发 动倡议一些活动，能改变一些目前站长的面貌。不能为站而牺牲了青春，虽然我也中毒很深，但是我已经老了，快50的人了，不希望你们年轻人跟我一样。希望 chinaz&amp;#160; admin5 im286 能带动站长们改变一下。引导一下，扭扭屁股 扭扭腰，赚了钱，还又轻松。你们是一群伟大的中国式个人站长，青春为你们而光彩，可别让青春为网络而遭殃。&lt;/p&gt;
&lt;p&gt;46.站长必须要学习，那些不学无术，靠点小聪明做网站的，很快就不能再做站长，竞争的加剧，只有学习，不停的努力，才能永久的留在站长的位置上。&lt;/p&gt;
&lt;p&gt;47.站长应该通晓做人，做站如做人，记住周鸿祎兄弟的话：做站如做人，心态决定一切。别看我搞插件，那也是为了全国不会中文的网民着想。&lt;/p&gt;
&lt;p&gt;48. 站长要有自己的内容，没有给网络新意的，那是软件的复制功能不是站长。&lt;/p&gt;
&lt;p&gt;49.做站长学会感恩，网络上别人帮助了你，你就要帮助别人，你找不到原来帮助过你的人，你就要把你的感谢的心，传达给别人，给更多人恩赐，你将会发现你会被照顾。&lt;/p&gt;
&lt;p&gt;50. 本来准备写一百个，发现写的时候，突然发现很多自己并不能做到，本以为我是一个标准的站长，看来我也不是，最后一点，站长要时刻反思自己，想起前段时间的 反思2006，站长更应该随时反省自己。反省是一个提高的过程，只有看到了问题，才能解决问题，看不到问题的站长，是一个最大的问题&lt;/p&gt;
&lt;p&gt;以上50点，是站长起码要通晓的50点，欢迎抛砖，砸我的观点，别砸我的人，我也跟大家一样，是一个普通的想努力改变自己的站长，但是一直不能成 功，现在还是在做一个社区，做了3年，还不到10万ip。。痛心自己的荒芜，也给更多站长的启示。如果你觉得不好，提点意见，我会常常看评论的。&lt;/p&gt;
&lt;p&gt;作者：后羿&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254696/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254696/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/seo/790.html/feed</wfw:commentRss><slash:comments>5</slash:comments><description>来源：http://lusongsong.com 做一个中国站长，如果以下50个问题，你不知道，你会很吃亏的，也有可能你是一个倒霉的站长。 五十个问题，有四十个你能做到，那你才是及格的站长，这是50个站长起码知道通晓的问题。 1. 做站长 可以不知道asp php c++ net 但是不能不知道html语言。如果不知道一个星期搞定他。连html都不知道，以后链接怎么做，技术偷偷糊弄你几下都不知道。 2.做站长，一定要知道国内的小代理信不过，如果域名你是在小代理那里注册，估计等你做大了，想转移都难，很多网站做到一半，发现代理跑了，消失了。 3.必须知道顶级注册商，必须知道域名所有权，必须会使用whois 来查询域名是否自己的。 4. 必须知道只注册.net&amp;#160;&amp;#160; .cn 是没有用的，你必须拿到.com 不然痛苦伴你一生。 5.必须知道虚拟主机没有不限制iis的，说不限制iis，都是骗你的。 6.必须认识100个站长，必须有最心腹的5个站长。 7.必须加入5个站长群，必须知道你的同行同领域的10个网站的最新动态。 8.必须有2个qq，一个qq随时可以做刺客或闪客。刺探测试别人的情报，为自己所用。 9.必须知道怎么网络赚钱，必须通晓5家联盟产品，随时放联盟广告。 10.必须知道seo，必须知道怎么作弊搜索，这个是站长最起码的要求。 11.必须至少拥有3个域名，2个空间，不然不是站长。 12.必须要学会尊重，互联网上每个人都是牛人，每个能上网的都是牛人，可能你的傲慢失去一次伟大的机会 13.必须学会偷盗，别人有好的，你必须迅速能拿下，据为己有，这样才能有超越。 14.必须有2个精通asp php等网络技术的朋友，随时能帮上你。 15.必须有2个不同领域的黑客朋友，万一你被搞了，有人能帮你。 16.必须有2个域名界的朋友，碰到好东西，有人帮你买卖指导。 17.必须要学会软文，一个站长不会写软文，那你就只有吃软饭了。 18.必须要会炒作，不能狗尾续貂，也要能一鸣惊人，放屁都要撑点力气变成放炮，网络不炒作，不能成气候 19.必须精通搜索，凡是有不懂的，立即 bidu&amp;#160; it goolge it 别老问qq 20.必须早上2点睡觉，1点前睡觉的不是站长。 21.必须一天工作15小时以上，不然成就不了互联网告诉公路，你看高速公路上哪个驾驶员不是长途跋涉的。 22.必须要熟悉几个站长相关的网站：www.donews.com 看看精英嘴脸冒泡的地方 www.chinaz.com 看看能不能不花钱弄到源码的地方，www.im286.com&amp;#160; 看看站长吹水的地方，www.admin5.com 学习软文炒作的地方。www.csdn.net 找程序员帮手的地方，www.eachnic.com 找点垃圾域名的地方。 23.必须要知道网络怎么赚钱，网站是依靠流量来赚钱的，而不是依靠欺骗下线来赚钱的。 24.必须要知道小联盟，日付联盟都是日你欺骗你的。 25.必须要知道高价买你广告的人，比你聪明，都是欺骗你的流量来挂木马病毒的。 26.必须要熟悉国内500个论坛，而且会使用论坛群发机的。 27.必须通晓网络现成的cms的，现在手工做站，原创做站的都是劳模。也是老马。拼的老命赚不了钱的。所以必须学会copy，必须学会采集。 28.必须放弃做门户，做大的理念，目前国内没有一个人，没有一个个人网站能做到门户，做一个最小的领域，你就已经成功了。 [...]&lt;img src=&quot;http://www1.feedsky.com/t1/627254696/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254696/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>站长</category><category>seo</category><category>推广优化</category><pubDate>Tue, 21 Feb 2012 13:11:00 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/seo/790.html#comments</comments><guid isPermaLink="false">http://www.shanreneye.com/index.php/seo/790.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/seo/790.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254696/6773107</fs:itemid></item><item><title>javscript中的clientTop、scrollTop、offsetTop等图解</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254697/6773107/1/item.html</link><content:encoded>&lt;p&gt;网页可见区域宽： document.body.clientWidth;&lt;br /&gt;
网页可见区域高： document.body.clientHeight;&lt;br /&gt;
网页可见区域宽： document.body.&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/offset&quot; title=&quot;查看 offset 的全部文章&quot; target=&quot;_blank&quot;&gt;offset&lt;/a&gt;&lt;/span&gt;Width   (包括边线的宽);&lt;br /&gt;
网页可见区域高： document.body.offsetHeight  (包括边线的宽);&lt;br /&gt;
网页正文全文宽： document.body.scrollWidth;&lt;br /&gt;
网页正文全文高： document.body.scrollHeight;&lt;br /&gt;
网页被卷去的高： document.body.&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/scrolltop&quot; title=&quot;查看 scrollTop 的全部文章&quot; target=&quot;_blank&quot;&gt;scrollTop&lt;/a&gt;&lt;/span&gt;;&lt;br /&gt;
网页被卷去的左： document.body.scrollLeft;&lt;br /&gt;
网页正文部分上： window.screenTop;&lt;br /&gt;
网页正文部分左： window.screenLeft;&lt;br /&gt;
屏幕分辨率的高： window.screen.height;&lt;br /&gt;
屏幕分辨率的宽： window.screen.width;&lt;br /&gt;
屏幕可用工作区高度： window.screen.availHeight;&lt;br /&gt;
屏幕可用工作区宽度：window.screen.availWidth;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/02/offset.gif&quot;&gt;&lt;img style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;&quot; title=&quot;offset&quot; src=&quot;http://blog.shanreneye.com/wp-content/uploads/2012/02/offset_thumb.gif&quot; border=&quot;0&quot; alt=&quot;offset&quot; width=&quot;784&quot; height=&quot;675&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254697/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254697/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/wangzhan/789.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>网页可见区域宽： document.body.clientWidth; 网页可见区域高： document.body.clientHeight; 网页可见区域宽： document.body.offsetWidth   (包括边线的宽); 网页可见区域高： document.body.offsetHeight  (包括边线的宽); 网页正文全文宽： document.body.scrollWidth; 网页正文全文高： document.body.scrollHeight; 网页被卷去的高： document.body.scrollTop; 网页被卷去的左： document.body.scrollLeft; 网页正文部分上： window.screenTop; 网页正文部分左： window.screenLeft; 屏幕分辨率的高： window.screen.height; 屏幕分辨率的宽： window.screen.width; 屏幕可用工作区高度： window.screen.availHeight; 屏幕可用工作区宽度：window.screen.availWidth;&lt;img src=&quot;http://www1.feedsky.com/t1/627254697/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254697/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>技术文档</category><category>offset</category><category>scrollTop</category><category>clientTop</category><category>JavaScript</category><pubDate>Mon, 20 Feb 2012 13:07:00 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/wangzhan/789.html#comments</comments><guid isPermaLink="false">http://www.shanreneye.com/index.php/wangzhan/789.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/wangzhan/789.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254697/6773107</fs:itemid></item><item><title>attachEvent和addEventListener的用法</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254698/6773107/1/item.html</link><content:encoded>&lt;p&gt;来源：&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http://www.wm000.com&quot;&gt;http://www.wm000.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/attachevent&quot; title=&quot;查看 attachEvent 的全部文章&quot; target=&quot;_blank&quot;&gt;attachEvent&lt;/a&gt;&lt;/span&gt;和&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/addeventlistener&quot; title=&quot;查看 addEventListener 的全部文章&quot; target=&quot;_blank&quot;&gt;addEventListener&lt;/a&gt;&lt;/span&gt;的用法&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;if (document.all){&amp;#160; &lt;br /&gt;window.attachEvent('onload',函数名)//IE中&amp;#160;&amp;#160; &lt;br /&gt;}&amp;#160; &lt;br /&gt;else{&amp;#160; &lt;br /&gt;window.addEventListener('load',函数名,false);//firefox&amp;#160;&amp;#160; &lt;br /&gt;} &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这里贴一个例子，该例子来自&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://www.shanreneye.com/index.php/tag/hulianwang&quot; title=&quot;互联网&quot; target=&quot;_blank&quot;&gt;互联网&lt;/a&gt;&lt;/span&gt;： &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;document.getElementById(&amp;quot;btn&amp;quot;).onclick = method1;&amp;#160; &lt;br /&gt;document.getElementById(&amp;quot;btn&amp;quot;).onclick = method2;&amp;#160; &lt;br /&gt;document.getElementById(&amp;quot;btn&amp;quot;).onclick = method3; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果这样写,那么将会只有medhot3被执行&amp;#160; &lt;br /&gt;写成这样： &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;var btn1Obj = document.getElementById(&amp;quot;btn1&amp;quot;);&amp;#160; &lt;br /&gt;//object.attachEvent(event,function);&amp;#160;&amp;#160; &lt;br /&gt;btn1Obj.attachEvent(&amp;quot;onclick&amp;quot;,method1);&amp;#160; &lt;br /&gt;btn1Obj.attachEvent(&amp;quot;onclick&amp;quot;,method2);&amp;#160; &lt;br /&gt;btn1Obj.attachEvent(&amp;quot;onclick&amp;quot;,method3); &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;执行顺序为method3-&amp;gt;method2-&amp;gt;method1 &lt;/p&gt;
&lt;p&gt;如果是Mozilla系列，并不支持该方法，需要用到addEventListener &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;var btn1Obj = document.getElementById(&amp;quot;btn1&amp;quot;);&amp;#160; &lt;br /&gt;//element.addEventListener(type,listener,useCapture);&amp;#160;&amp;#160; &lt;br /&gt;btn1Obj.addEventListener(&amp;quot;click&amp;quot;,method1,false);&amp;#160; &lt;br /&gt;btn1Obj.addEventListener(&amp;quot;click&amp;quot;,method2,false);&amp;#160; &lt;br /&gt;btn1Obj.addEventListener(&amp;quot;click&amp;quot;,method3,false); &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;执行顺序为method1-&amp;gt;method2-&amp;gt;method3 &lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254698/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254698/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/wangzhan/786.html/feed</wfw:commentRss><slash:comments>2</slash:comments><description>来源：http://www.wm000.com attachEvent和addEventListener的用法 if (document.all){&amp;#160; window.attachEvent('onload',函数名)//IE中&amp;#160;&amp;#160; }&amp;#160; else{&amp;#160; window.addEventListener('load',函数名,false);//firefox&amp;#160;&amp;#160; } 这里贴一个例子，该例子来自互联网： document.getElementById(&amp;#34;btn&amp;#34;).onclick = method1;&amp;#160; document.getElementById(&amp;#34;btn&amp;#34;).onclick = method2;&amp;#160; document.getElementById(&amp;#34;btn&amp;#34;).onclick = method3; 如果这样写,那么将会只有medhot3被执行&amp;#160; 写成这样： var btn1Obj = document.getElementById(&amp;#34;btn1&amp;#34;);&amp;#160; //object.attachEvent(event,function);&amp;#160;&amp;#160; btn1Obj.attachEvent(&amp;#34;onclick&amp;#34;,method1);&amp;#160; btn1Obj.attachEvent(&amp;#34;onclick&amp;#34;,method2);&amp;#160; btn1Obj.attachEvent(&amp;#34;onclick&amp;#34;,method3); 执行顺序为method3-&amp;#62;method2-&amp;#62;method1 如果是Mozilla系列，并不支持该方法，需要用到addEventListener var btn1Obj = document.getElementById(&amp;#34;btn1&amp;#34;);&amp;#160; //element.addEventListener(type,listener,useCapture);&amp;#160;&amp;#160; btn1Obj.addEventListener(&amp;#34;click&amp;#34;,method1,false);&amp;#160; btn1Obj.addEventListener(&amp;#34;click&amp;#34;,method2,false);&amp;#160; btn1Obj.addEventListener(&amp;#34;click&amp;#34;,method3,false); 执行顺序为method1-&amp;#62;method2-&amp;#62;method3&lt;img src=&quot;http://www1.feedsky.com/t1/627254698/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254698/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>技术文档</category><category>attachEvent</category><category>JavaScript</category><category>addEventListener</category><pubDate>Sun, 19 Feb 2012 13:00:00 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/wangzhan/786.html#comments</comments><guid isPermaLink="false">http://www.shanreneye.com/index.php/wangzhan/786.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/wangzhan/786.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254698/6773107</fs:itemid></item><item><title>给力的mysql操作类，详细注释</title><link>http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254699/6773107/1/item.html</link><content:encoded>&lt;blockquote&gt;&lt;p&gt;&amp;lt;?php     &lt;br /&gt;/**      &lt;br /&gt;*************MySQL 数据库操作工具类, 方便数据库操作.下面是实例化方式。      &lt;br /&gt;*************由Vic根据网上资料整理注释，错误的地方还请口下留情。&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http://shanreneye.com&quot;&gt;http://shanreneye.com&lt;/a&gt;&amp;#160; &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http://weibo.com/liujinstrive&quot;&gt;http://weibo.com/liujinstrive&lt;/a&gt;      &lt;br /&gt;&amp;lt;?php      &lt;br /&gt;header(&amp;quot;Content-Type:text/html;Charset=utf-8&amp;quot;);      &lt;br /&gt;require_once('&lt;span class='wp_keywordlink_affiliate'&gt;&lt;a href=&quot;http://blog.shanreneye.com/tag/mysql&quot; title=&quot;查看 mysql 的全部文章&quot; target=&quot;_blank&quot;&gt;mysql&lt;/a&gt;&lt;/span&gt;.class.php');      &lt;br /&gt;$c=array      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'host'=&amp;gt;'localhost',//主机名，一般为localhost      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'port'=&amp;gt;'',&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //端口号，默认为空      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'username'=&amp;gt;'root', //数据库用户名      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'password'=&amp;gt;'',&amp;#160;&amp;#160; //数据库密码      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'dbname'=&amp;gt;'dbname', //数据库名      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'charset'=&amp;gt;'utf8',&amp;#160;&amp;#160;&amp;#160; //编码方式      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; );      &lt;br /&gt;$db=new Mysql($c);       &lt;br /&gt;?&amp;gt;      &lt;br /&gt;***************/&lt;/p&gt;
&lt;p&gt;//error_reporting(0);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //禁用所有错误提示。&lt;/p&gt;
&lt;p&gt;class Mysql{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public $conn;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public $query_list = array();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public $query_count = 0;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; protected $result;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //执行sql后返回的结果      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; protected $sql;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //sql语句      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; protected $row;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //数组变量      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public $error_show=true;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //是否在操作界面开启错误提示，默认开启      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public $error_wirte=true;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //是否开启错误日志记录，默认开启      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public $error_file=&amp;quot;/error/&amp;quot;;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //错误日志保存位置,目录形式例如：/error/      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public $error_stop=false;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //出现错误终止操作,错误后面的代码不在执行&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 屏蔽克隆方法      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; private function __clone(){&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 构造方法      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function __construct($c){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!isset($c['port'])){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $c['port'] = '3306';      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $server = $c['host'] . ':' . $c['port'];      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;conn = mysql_connect($server, $c['username'], $c['password'], true) or die('connect db error');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mysql_select_db($c['dbname'], $this-&amp;gt;conn) or die('select db error');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($c['charset']){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mysql_query(&amp;quot;set names &amp;quot; . $c['charset'], $this-&amp;gt;conn);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 执行 mysql_query 并返回其结果.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function query($sql){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $stime = microtime(true);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $result = mysql_query($sql, $this-&amp;gt;conn);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;query_count ++;&amp;#160;&amp;#160;&amp;#160; //查询次数      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($result === false){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;show_error(&amp;quot;sql语句错误&amp;quot;,$sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $etime = microtime(true);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $time = number_format(($etime - $stime) * 1000, 2);&amp;#160;&amp;#160;&amp;#160; //记录sql语句的执行时间，单位为微秒，精确两位小数。      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;query_list[] = $time . ' ' . $sql;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $result;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 执行 SQL 语句, 返回结果的第一条记录(是一个对象).      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function getobj($sql){&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //&amp;#160;&amp;#160; 实例：$row=$db-&amp;gt;getobj($sql);echo $row-&amp;gt;username;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $result = $this-&amp;gt;query($sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($row = mysql_fetch_object($result)){&amp;#160;&amp;#160; //返回一个对象而不是数组。也意味着只能通过字段名来访问数组，而不是偏移量（数字是合法的属性名）。       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $row;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }else{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return null;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 执行 SQL 语句, 返回结果的第一条记录(是一个数组).      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function getarr($sql){&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //&amp;#160;&amp;#160; 实例：$row=$db-&amp;gt;getarr($sql);echo $row['username'];      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $result = $this-&amp;gt;query($sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($row = mysql_fetch_array($result)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $row;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }else{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return null;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 返回查询结果集, 以 key 为键组织成关联数组, 每一个元素是一个对象.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 如果 key 为空, 则将结果组织成普通的数组.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 使用例子：      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sql=&amp;quot;select * from registration&amp;quot;; or&amp;#160; $sql=&amp;quot;select * from registration where id=xxx&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $rows=$db-&amp;gt;find($sql,'id');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach($rows as $val){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo $val-&amp;gt;username.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function find($sql, $key=null){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $data = array();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $result = $this-&amp;gt;query($sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; while($row = mysql_fetch_object($result)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!empty($key)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $data[$row-&amp;gt;{$key}] = $row;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }else{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $data[] = $row;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $data;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; public function last_id(){     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return mysql_insert_id($this-&amp;gt;conn);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 执行一条带有结果集计数的 count SQL 语句, 并返该计数.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function count($sql){&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //$sql=&amp;quot;select * from registration&amp;quot;;$row=$db-&amp;gt;count($sql);echo $row;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $result = $this-&amp;gt;query($sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($row = mysql_num_rows($result)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return (int)$row;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }else{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return 0;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 开始一个事务.MyISAM引擎数据库不支持事务      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function begin(){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mysql_query('begin');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 提交一个事务.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function commit(){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mysql_query('commit');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 回滚一个事务.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function rollback(){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mysql_query('rollback');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 获取指定编号的记录.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * @param int $id 要获取的记录的编号.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * @param string $field 字段名, 默认为'id'.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function select($table, $field, $id='id'){&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //$row=$db-&amp;gt;select('registration','id','10007');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sql = &amp;quot;select * from `{$table}` where `{$field}`='{$id}'&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $row = $this-&amp;gt;getarr($sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $row;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 保存一条记录, 调用后, id被设置.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * @param object $row      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function save($table, &amp;amp;$row){&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //$r=array('username'=&amp;gt;'刘大爷','sex'=&amp;gt;'男');$row=$db-&amp;gt;save('registration',$r);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sqlA = '';      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach($row as $k=&amp;gt;$v){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sqlA .= &amp;quot;`$k` = '$v',&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sqlA = substr($sqlA, 0, strlen($sqlA)-1);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sql&amp;#160; = &amp;quot;insert into `{$table}` set $sqlA&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;query($sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(is_object($row)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $row-&amp;gt;id = $this-&amp;gt;last_id();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }else if(is_array($row)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $row['id'] = $this-&amp;gt;last_id();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 更新$arr[id]所指定的记录.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * @param array $row 要更新的记录, 键名为id的数组项的值指示了所要更新的记录.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * @return int 影响的行数.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * @param string $field 字段名, 默认为'id'      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; *使用方法： $r=array('id'=&amp;gt;'10007','username'=&amp;gt;'千娱千寻','sex'=&amp;gt;'男');$row=$db-&amp;gt;update('registration',$r,'id');.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function update($table, &amp;amp;$row, $field='id'){&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sqlA = '';      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach($row as $k=&amp;gt;$v){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sqlA .= &amp;quot;`$k` = '$v',&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sqlA = substr($sqlA, 0, strlen($sqlA)-1);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(is_object($row)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $id = $row-&amp;gt;{$field};      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }else if(is_array($row)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $id = $row[$field];      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sql&amp;#160; = &amp;quot;update `{$table}` set $sqlA where `{$field}`='$id'&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $this-&amp;gt;query($sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 删除一条记录.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * @param int $id 要删除的记录编号.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * @return int 影响的行数.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * @param string $field 字段名, 默认为'id'.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function remove($table,$id,$field='id'){&amp;#160;&amp;#160;&amp;#160;&amp;#160; //$row=$db-&amp;gt;remove('registration','11769');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $sql&amp;#160; = &amp;quot;delete from `{$table}` where `{$field}`='{$id}'&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $this-&amp;gt;query($sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /*     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; * 下面是字符串转义 函数 mysql_real_escape_string();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; *&amp;#160; mysql_real_escape_string() 并不转义 % 和 _。       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; *&amp;#160;&amp;#160;&amp;#160; 使用实例参考php手册      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function escape(&amp;amp;$val){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(is_object($val) || is_array($val)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;escape_row($val);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; function escape_row(&amp;amp;$row){     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(is_object($row)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach($row as $k=&amp;gt;$v){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $row-&amp;gt;$k = mysql_real_escape_string($v);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }else if(is_array($row)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach($row as $k=&amp;gt;$v){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $row[$k] = mysql_real_escape_string($v);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; /*      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; *由于mysql_real_escape_string不转义'%'和'_',所以用下面的方法对之转义。      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; *      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function escape_like_string($str){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $find = array('%', '_');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $replace = array('\%', '\_');      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $str = str_replace($find, $replace, $str);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $str;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 错误输出、错误日志保存      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function show_error($message=&amp;quot;&amp;quot;,$sql=&amp;quot;&amp;quot;){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($this-&amp;gt;error_show){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!$sql){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //非sql语句错误      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo &amp;quot;错误提示：&amp;lt;font color=\&amp;quot;red\&amp;quot;&amp;gt;&amp;quot;.$message.&amp;quot;&amp;lt;/font&amp;gt;&amp;quot;.&amp;quot;&amp;lt;br/&amp;gt;&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //sql语句错误      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo &amp;quot;&amp;lt;div class='mysql_error'&amp;gt;&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo &amp;quot;&amp;lt;h3&amp;gt;数据库操作错误提示&amp;lt;/h3&amp;gt;&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo &amp;quot;&amp;lt;ul&amp;gt;&amp;lt;li class='mesage'&amp;gt;&amp;quot;.$message.&amp;quot;&amp;lt;/li&amp;gt;&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo &amp;quot;&amp;lt;li class='error' &amp;gt;错误原因：&amp;quot; . mysql_error() . &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo &amp;quot;&amp;lt;li class='sql'&amp;gt;&amp;lt;pre&amp;gt;SQL:&amp;quot;.$sql.&amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($this-&amp;gt;error_wirte){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //保存错误日期      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $ip=$this-&amp;gt;getip();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ini_set(&amp;quot;date.timezone&amp;quot;,&amp;quot;PRC&amp;quot;);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $time=date(&amp;quot;Y-m-d H:i:s&amp;quot;);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $message=&amp;quot;**************************************$time\r\n&amp;quot;.$message;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $message=$message.&amp;quot;\r\n$sql\r\n&amp;quot;.&amp;quot;客户端:$ip\r\n&amp;quot;.&amp;quot;时间:$time\r\n&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $filename=date(&amp;quot;Y-m-d&amp;quot;).&amp;quot;.txt&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $file_dir=str_replace('\\', '/',dirname(dirname(__file__))).$this-&amp;gt;error_file;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $file_path=$file_dir.$filename;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!file_exists($file_dir)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!mkdir($file_dir)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($this-&amp;gt;error_show) echo &amp;quot;创建目录&amp;quot;.$this-&amp;gt;error_file.&amp;quot;失败&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!file_exists($file_path)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fopen($file_path,&amp;quot;w+&amp;quot;);//创建文件      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(is_writable($file_path)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!$handle=fopen($file_path,&amp;quot;a&amp;quot;)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($this-&amp;gt;error_show) echo &amp;quot;不能打开文件&amp;quot;.$file_path;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; exit;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!fwrite($handle,$message)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo $file_path.&amp;quot;文件写入失败&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; exit;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fclose($handle);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($this-&amp;gt;error_show) echo &amp;quot;错误日志被保存在&amp;quot;.$file_path;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($this-&amp;gt;error_show) echo &amp;quot;文件&amp;quot;.$filename.&amp;quot;不可写入&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($this-&amp;gt;error_stop) exit;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; *获取客户端ip地址      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public function getip(){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!empty($_SERVER[&amp;quot;HTTP_CLIENT_IP&amp;quot;]))      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $cip = $_SERVER[&amp;quot;HTTP_CLIENT_IP&amp;quot;];       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else if(!empty($_SERVER[&amp;quot;HTTP_X_FORWARDED_FOR&amp;quot;]))      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $cip = $_SERVER[&amp;quot;HTTP_X_FORWARDED_FOR&amp;quot;]; //代理服务器下的IP      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else if(!empty($_SERVER[&amp;quot;REMOTE_ADDR&amp;quot;]))      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $cip = $_SERVER[&amp;quot;REMOTE_ADDR&amp;quot;]; //没有使用代理服务的IP      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $cip = &amp;quot;无法获取ip&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $cip;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; *       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 获得当前的脚本网址，比如url:&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http://localhost/test/index.php,则本函数返回/test/index.php。或者返回如/test/index.php?do=xxx之类的。&quot;&gt;http://localhost/test/index.php,则本函数返回/test/index.php。或者返回如/test/index.php?do=xxx之类的。&lt;/a&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function geturl(){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!empty($_SERVER[&amp;quot;REQUEST_URI&amp;quot;])){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $scriptName = $_SERVER[&amp;quot;REQUEST_URI&amp;quot;];      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $nowurl = $scriptName;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $scriptName = $_SERVER[&amp;quot;PHP_SELF&amp;quot;];      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(empty($_SERVER[&amp;quot;QUERY_STRING&amp;quot;])) {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $nowurl = $scriptName;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $nowurl = $scriptName.&amp;quot;?&amp;quot;.$_SERVER[&amp;quot;QUERY_STRING&amp;quot;];      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $nowurl;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; /*      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; *获取当前网页的url（）      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; *      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public function cururl()       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $pageURL = 'http';      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if ($_SERVER['HTTPS'] == &amp;quot;on&amp;quot;)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $pageURL .= &amp;quot;s&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $pageURL .= &amp;quot;://&amp;quot;;&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if ($_SERVER[&amp;quot;SERVER_PORT&amp;quot;] != &amp;quot;80&amp;quot;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $pageURL .= $_SERVER[&amp;quot;SERVER_NAME&amp;quot;] . &amp;quot;:&amp;quot; . $_SERVER[&amp;quot;SERVER_PORT&amp;quot;] . $_SERVER[&amp;quot;REQUEST_URI&amp;quot;];      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $pageURL .= $_SERVER[&amp;quot;SERVER_NAME&amp;quot;] . $_SERVER[&amp;quot;REQUEST_URI&amp;quot;];      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $pageURL;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 返回mysql数据库基本信息      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 1:服务器信息，2：主机信息，3：协议信息，4：客户端信息      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public function mysql_server($num=''){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; switch ($num){      &lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; case 1:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return mysql_get_server_info();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; break;      &lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; case 2:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return mysql_get_host_info();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; break;      &lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; case 3:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return mysql_get_proto_info();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; break;      &lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; case 4:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return mysql_get_client_info();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; break;      &lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; default:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return mysql_get_client_info();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; break;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * sql语句检测函数，防止sql注入，本类中尚未使用。      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public function checksql($sql){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $check = preg_match('/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/', $sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if($check){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;show_error(&amp;quot;sql被拦截，请检测sql语句&amp;quot;,$sql);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return false;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $sql;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 释放数据库结果集      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public function free(){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @ mysql_free_result($this-&amp;gt;result);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; *(预留操作提示接口)执行成功跳转、提示函数      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public function get_admin_msg($url, $msg) {}      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /**      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 析构函数、释放结果关闭连接      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; */      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public function __destruct(){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(!empty($this-&amp;gt;result)){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;free();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @ mysql_close($this-&amp;gt;conn);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;}      &lt;br /&gt;?&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/627254699/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254699/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://blog.shanreneye.com/wangzhan/783.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>&amp;#60;?php /** *************MySQL 数据库操作工具类, 方便数据库操作.下面是实例化方式。 *************由Vic根据网上资料整理注释，错误的地方还请口下留情。http://shanreneye.com&amp;#160; http://weibo.com/liujinstrive &amp;#60;?php header(&amp;#34;Content-Type:text/html;Charset=utf-8&amp;#34;); require_once('mysql.class.php'); $c=array &amp;#160;&amp;#160;&amp;#160; ( &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'host'=&amp;#62;'localhost',//主机名，一般为localhost &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'port'=&amp;#62;'',&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //端口号，默认为空 &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'username'=&amp;#62;'root', //数据库用户名 &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'password'=&amp;#62;'',&amp;#160;&amp;#160; //数据库密码 &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'dbname'=&amp;#62;'dbname', //数据库名 &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'charset'=&amp;#62;'utf8',&amp;#160;&amp;#160;&amp;#160; //编码方式 &amp;#160;&amp;#160;&amp;#160; ); $db=new Mysql($c); ?&amp;#62; ***************/ //error_reporting(0);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //禁用所有错误提示。 class Mysql{ &amp;#160;&amp;#160;&amp;#160; public $conn; &amp;#160;&amp;#160;&amp;#160; public $query_list = array(); &amp;#160;&amp;#160;&amp;#160; public $query_count = 0; &amp;#160;&amp;#160;&amp;#160; protected [...]&lt;img src=&quot;http://www1.feedsky.com/t1/627254699/shanreneye/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/shanreneye/~8666896/627254699/6773107/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>技术文档</category><category>操作类</category><category>mysql</category><pubDate>Sat, 18 Feb 2012 12:46:00 +0800</pubDate><author>渊岳</author><comments>http://blog.shanreneye.com/wangzhan/783.html#comments</comments><guid isPermaLink="false">http://www.shanreneye.com/index.php/wangzhan/783.html</guid><dc:creator>渊岳</dc:creator><fs:srclink>http://blog.shanreneye.com/wangzhan/783.html</fs:srclink><fs:srcfeed>http://www.shanreneye.com/index.php/feed</fs:srcfeed><fs:itemid>feedsky/shanreneye/~8666896/627254699/6773107</fs:itemid></item></channel></rss>
