Archive for php
PHP代码优化,40条最重要的方法
发表于 2008-11-20 20:59 : 评论 ( 没有评论 )
40 Tips for optimizing your php Code 原文地址:http://reinholdweber.com/?p=3 英文版权归Reinhold Weber所有,中译文作者yangyang(aka davidkoree)。双语版可用于非商业传播,但须注明英文版作者、版权信息,以及中译文作者。翻译水平有限,请广大PHPer指正。
php连接access时的分页处理办法,比较恼火.
发表于 2008-10-1 21:55 : 评论 ( 没有评论 )
<?php -------------------------------------------------------------------- //FileName:class.php //Summary: Access数据库操作类 //Author: forest //CreateTime: 2006-8-10 //LastModifed: //copyright (c)2006 //http://freeweb.nyist.net/~chairy //[email]chaizuxue@163.com[/email] // 使用范例: //$databasepath="database.mdb"; //$dbusername=""; //$dbpassword=""; //include_once("class.php"); //$access=new Access($databasepath,$dbusername,$dbpassword); -------------------------------------------------------------------- class Access { var $databasepath,$constr,$dbusername,$dbpassword,$link; function Access($databasepath,$dbusername,$dbpassword) { $this->databasepath=$databasepath; $this->username=$dbusername; $this->password=$dbpassword; $this->connect(); } function connect() { $this->constr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath($this->databasepath); $this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC); return $this->link; //if($this->link) echo "恭喜你,数据库连接成功!"; //else echo "数据库连接失败!"; [...]
PHP不能连接Sqlite3的解决办法
发表于 2008-10-1 14:33 : 评论 ( 2 条评论 )
火车采集器2008的商业版中,采用了Sqlite3做为默认数据库格式,以期待存放大型数据的需求. 目前,PHP5.3以前的版本还不能直接支持Sqlite3,即不支持DB3后缀的Sqlite数据库文件. 使用PHP连接Sqlite3时会报错,以下为一个解决办法: 目前找到的解决办法是使用PDO即可连接Sqlite3. 这里也回忆了一下PDO和ADOdb各是什么东东. PDO和ADOdb均是数据库抽象层.总的功能是可以实现连接多个数据库,特别适合一个程序中实现多个数据库. PDO支持数据库移植,如果你的部署将来有多种数据库,那就用它了.同时,PDO是C设计的,执行效率较高.他已经封装为PHP的扩展库组件了.运行快,效率高,我总结吧,还要安全一些,可以防SQL注入,初学,不知道有没有错. ADOdb是PHP类,是一个PHP文件,相对PDO来讲,运行效率较低,但支持性也较广泛,使用起来也简单方便. 据说Adodb也支持Sqlite,不过,ADOdb也是基于PHP的组件,那么肯定也不支持SQLite3了,所以PDO是解决这个问题的唯一办法. 当然,使用php5.3或者更高版本可以直接解决问题。 这里,表示一下茫然,Sqlite3出了有四年了吧,PHP5干什么吃的去了? 然后记下PDO的下载地址,以及PDO与SQLite的连接方法: PDO下载地址:http://pecl.php.net/package/pdo PDO_Sqlite 函数及语法:http://cn.php.net/manual/en/ref.pdo-sqlite.php 下载以后并行安装就可以了,PHP5.1已经内置了PDO的相关组件,我们要做的就是打开PHP.ini把PDO和PDO_sqlite启用了 启用PDO和PDO_dqlite以后,我就开始写一段测试代码,拷了一个任务数据库到程序目录中以备测试.
PHP读取目录树,文件名的一个类:Directory Reader Object
发表于 2008-09-28 18:23 : 评论 ( 没有评论 )
在国内论坛上找了很久也没有找到,一般都是读取一个目录下的文件列表,后来到国外的一个网站找到了这个类,写得不错,备忘· 可以读取目录下的目录,文件等。
[2009-06-14更新]Modoer内容采集程序,准确快速方便的Modoer内容解决方案
发表于 2008-09-10 03:30 : 评论 ( 没有评论 )
网站建设核心在运营模式,基础在内容建设。 我们提供的内容采集方案可以为你解决以下几个难题: 一,采集软件化,解决人手少,每天更新数据少,手工发布内容难度大,重复率高,效率低的问题 二,过程自动化,批量化数据更新,你仅需要在后台做一些简单的修改和整理,你可以花更多的时间在改进用户体验上 三,模拟原创化,每日自动发布信息,创造多用户同时在线气氛,搜索引擎优化
Zend Studio For Eclipse 6.0/6.0.1 发布(含注册码)
发表于 2008-08-19 13:18 : 评论 ( 没有评论 )
DEDE的高级使用,需要一个比较理想的PHP开发环境,以前老用 Dreamweaver,但他只是一个完美的代码和 HTML 编辑器,在 PHP 开发方面,他连基本的自定义函数的参数都无法提示;有人推荐 EditPlus,不过他也只是个编辑器,离“开发环境”还差得远;再者就是 Zend Studio,他是公认的很好很强大的 PHP 开发环境,不过看到他那丑陋的界面,我就知道那不是我想要的。 后来知道了有个 PDT,基于 Eclipse 的 PHP 开发环境,用了一下,着实不错,界面也很美观,基本的 PHP 开发功能也够用,下定决心,从此就用他来搞 PHP 了。 过年期间,看到一条新闻,新版的 Zend Studio 发布了,该版本是基于 Eclipse 的开发环境,是在 PDT 的基础之上开发的,迫不及待地下载安装试用,WOW,一切都是那么的完美,毫无疑问,Zend Studio For Eclipse 将是以后 PHP 开发的不二选择了! 今天去Zend官网,看到有 6.0.1的下载版了,于是记录下来.到目前没止,还没有中文版或者插件.
一个DEDE下载页面的函数,动态显示所有一级栏目名
发表于 2008-07-6 03:08 : 评论 ( 没有评论 )
//以下为获取栏目列表,By 尘缘 $dsql = new DedeSql(false); $menuquerysql = "Select typedir,typename from `#@__arctype` where reid='0'"; $dsql->Execute('me',$menuquerysql); while($row = $dsql->getarray()) { $menus= $menus." ".$row['typename']." \r\n"; } $dsql->Close(); 将以上代码加到plus/download.php中,位置任意,在模板中调用< ?=menus?>即可. 这里主要是分析了DEDE的Mysql函数,感觉好用。 记号一下。
DEDECMS 删除文章时删除缩图和内容中大图
发表于 2008-07-3 17:10 : 评论 ( 没有评论 )
打开dede/inc/inc_batchup.php找到"//删除数据库的内容" 在这前面加上 //删除缩略图 if($arcRow['litpic']!=""){ $dsql->ExecuteNoneQuery("Delete From #@__uploads where url='$arcRow[litpic]'"); $truedir = GetTruePath($arcRow['siterefer'],$arcRow['sitepath']); $litpicfile = $truedir.$arcRow['litpic']; @unlink($litpicfile); } //删除大图 $arcbodyQuery = "Select * from ".$arcRow['addtable']." where aid='$aid'"; $arcbodyRow = $dsql->GetOne($arcbodyQuery); $imgsrcarray=GetImageSrc($arcbodyRow['body']); foreach ($imgsrcarray as $v) { if((trim($v)!="")&&(!eregi("^http://",$v))){ $dsql->ExecuteNoneQuery("Delete From #@__uploads where url='$v'"); $picfile = $truedir.$v; @unlink($picfile); } } //删除数据库的内容 第二处: 找到 Select #@__archives.ID,#@__archives.title,#@__archives.typeid 改为: Select #@__archives.ID,#@__archives.title,#@__archives.typeid,#@__archives.litpic [...]
