发新话题
打印

Smarty应用实例:公布PHP开源大全(http://open.phpres.com)源代码

Smarty应用实例:公布PHP开源大全(http://open.phpres.com)源代码



项目名称:PHP开源大全(代码比较少,仅作为大家参考用)
项目地址:http://open.phpres.com
架构:PHP+MYSQL+SMARTY+ADODB

大家可以对照下面的代码看一下。链接都是静态的,这里是用.htaccess处理的。
复制内容到剪贴板
代码:
RewriteEngine On
RewriteBase /
RewriteRule ^open(\d+)\.htm$ readmore\.php\?id=$1
RewriteRule ^search_phpres_(.+)_(.+)\.html$ index\.php\?kw=$1&page=$2  
RewriteRule ^phpres_(.+)_(.+)\.html$ index\.php\?sort=$1&page=$2
这样大家可以看清楚实际的PHP文件

然后讲一下源代码
复制内容到剪贴板
代码:
<?php
/**
       ○︿
        ︶\
         √ ﹀ . 。o O . Angelover~~~0 o ~~
*...................................................
* PHP开源大全([url]http://open.phpres.com[/url]) 系统初始化配置文件
* SMARTY模板引擎配置 | ADODB数据库操作类配置
* @Author  :: ANGELOVER
* @TECH SP :: [email]MOOLAO@GMAIL.COM[/email]
* @version 1.56 $Id 2007-01-13 9:49 $
*...................................................
*/

/** 本 版 基 于 PHP + MYSQL + SMARTY + ADODB 架 构 **/

/**
* start session for all pages
*/
session_start();

/**
* Public param | 公用参数调用
*/

@define(  "SYS_PATH"  ,    dirname(__FILE__)."/" );




//.......................................................<<< SMARTY CONFIG START

/**
* 引入 smarty 的 inc 档
*/
require_once(SYS_PATH."comm/Smarty.class.php");


/**
* 建立SMARTY物件导向
*/
$smarty  =  new Smarty();


/**
* 设置模板目录
*/
$smarty->template_dir    =  SYS_PATH."templates";   


/**
* 设置编译目录
*/
$smarty->compile_dir     =  SYS_PATH."templates_c";


/**
* 设置编译目录
*/
$smarty->cache_dir      =  SYS_PATH."_cache";

/**
* 设置模板左右边界
*/
$smarty->left_delimiter  =  "{";


/**
* 设置模板左右边界
*/
$smarty->right_delimiter =  "}";

//.................................................. <<< SMARTY CONFIG END



//.................................................. <<< ADODB  CONFIG START
/**
* 引入 adodb 的 inc 档
*/
include_once(SYS_PATH."common/adodb/adodb.inc.php");

/**
* database host address
*/
@define(  "HOST_ADDR"  ,  "localhost" );

/**
* database host username
*/
@define(  "HOST_USER"  ,  "**********"      );

/**
* database host password
*/
@define(  "HOST_PSW"   ,  "**********"    );

/**
* database name
*/
@define(  "DB_NAME"    ,  "**********"      );

/**
* 建立联机对象
*/
$conn   =  &ADONewConnection('mysql');
     
/**
* 侦错讯息控制开关
* @ false 不显示/true 显示
*/
$conn->debug  =  false;
     
/**
* 连接数据库
* @parm $conn->Connect('主机', '使用者', '密码', '数据库');
*/
$conn->Connect( HOST_ADDR,   HOST_USER,   HOST_PSW,   DB_NAME );

//..................................................... <<< ADODB  CONFIG END


/**
* ALL PAGE USE
*/
@define(  "PRE_RT"  ,  "操作成功, 请返回!"   );

?>
PHP开发资源网 - 全力打造中文PHP第一社群

TOP

开源信息发布页面:
复制内容到剪贴板
代码:
<?php
//PHP开源大全开源信息发布页面
require_once("./Sys_Config.inc.php");
require_once(SYS_PATH."/comm/lib_comm.inc.php");
$conn->debug     = FALSE;
$smarty->caching = FALSE;

/*
if(!isset($_SESSION["userid"]) or $_SESSION["userid"]==""){
        echo "<script>window.open('Administrator_Login.php','_self')</script>";
         exit;
}
*/

// Display List Content
if (!isset($_REQUEST['id']) && empty($_REQUEST['id'])){
       
    $arr  = array();
        $page = isset($_REQUEST['page']) && intval($_REQUEST['page']) > 0 ? $_REQUEST['page'] :  1;
        $size = 25;
       
        @require_once(SYS_PATH."/comm/Class.Page.inc.php");
    NaviPage_cM('phpres_open', $size, 5, "1");

    $sql = "SELECT * FROM `phpres_open`  ORDER BY `id` DESC";
        $res = $conn->SelectLimit($sql, $size, ($page - 1) * $size ) or die($conn->ErrorMsg());
       
        while ($row = $res->FetchRow()){
                  $arr[$row['id']]['id']        =  $row['id'];
                $arr[$row['id']]['class']        =  $row['class'];
                $arr[$row['id']]['subject']   =  substrgb($row['subject'], 0, 70);
                $arr[$row['id']]['pubtime']   =  $row['pubtime'];
        }
     $smarty->assign("SuperList", $arr);
}

if(isset($_REQUEST['submit']) || isset($_REQUEST['modify'])){

                if(isset($_FILES['epic'])){
                        if($_FILES['epic']['name'][0] != ""){
                       
                        /* 引入文件上传处理类 */
                        require_once(SYS_PATH."/comm/Class.FileUpLoad.inc.php");
                       
                        /* 设置文件上传路径 */
                        $savePath = 'photos/';
                        $preFix = "phpres_php_open_project_".date('YmdHis');  //<--这里加长文件名
                    
                        /* 序列化存储文件名 */
                        $_FILES['epic']['name'][0] = $preFix.$_FILES['epic']['name'][0];
                        $fileFormat = array('gif','jpg','jpge','png');
                    
                        /* 无限上传/重写有效 */
                        $maxSize   = 0;
                    $overwrite = 1;
                
                        /* 实例化文件上传类 */
                        $PreFix = new clsUpload( $savePath, $fileFormat, $maxSize, $overwrite);
                $PreFix->setThumb(0);
                    
                        /* 如果错误抛出异常 */
                        if (!$PreFix->run('epic',0))
                           echo $PreFix->errmsg()."<br>\n";
                       
                        /* 得到存储路径 */
            $epic_info  = $PreFix->getInfo();
                        $pic_path   = $epic_info[0]['saveName'];
            }
                       
                   /* 没有文件上传就空值 */         
                   else  
                           $pic_path   =  "";
                }

            $subject = $conn->qstr($_REQUEST['subject']);
                $content = $_REQUEST['content'];

        if (isset($_REQUEST['submit']) && !empty($_REQUEST['submit'])){   
                        $html_path = date("YmdHis").".html";
                        $sql = 'INSERT INTO `phpres_open` (`class`, `subject`, `content`, `logo`, `homepage`, `download`, `license`, `pubtime`) VALUES (\''.$_REQUEST['class'].'\', '.$subject.', \''.$content.'\', \''.$pic_path.'\', \''.$_REQUEST[homepage].'\', \''.$_REQUEST[download].'\', \''.$_REQUEST[license].'\', NOW())';  
            $conn->Execute($sql) or die($conn->ErrorMsg());
                        $sql  = "SELECT * FROM `phpres_open` ORDER BY `id` DESC LIMIT 1";
                        $res  = $conn->GetRow($sql) or die($conn->ErrorMsg());
                }
               
                if (isset($_REQUEST['modify']) && !empty($_REQUEST['modify'])){
                        $ext = $pic_path == ""? "": ",`logo` = '$pic_path'";
            $sql = "UPDATE `phpres_open` SET `class` = '".$_REQUEST['class']."', `subject` = $subject, `content` = '$content', `homepage` = '{$_REQUEST[homepage]}', `download` = '{$_REQUEST[download]}', `license` = '{$_REQUEST[license]}' $ext  WHERE `id` = '$_REQUEST[id]' LIMIT 1";
                        $conn->Execute($sql) or die($conn->ErrorMsg());
                        $sql  = "SELECT * FROM `phpres_open` WHERE `id` = '$_REQUEST[id]' LIMIT 1";
                        $res  = $conn->GetRow($sql) or die($conn->ErrorMsg());
                }  

}

if(isset($_REQUEST['delete']) && $_REQUEST['delete'] != "" ){  
    foreach($ChinaShoes as $key=>$value) {
                $sql   = "DELETE FROM `phpres_open` WHERE `id` = '$value' LIMIT 1";
                $res = $conn->Execute($sql) or die($conn->ErrorMsg());
   }
    if ($res)  ShowMsg(PRE_RT, "Multifarious_open.php");
}

if(isset($_REQUEST['action']) && $_REQUEST['action'] == "delete" ){  
   $sql   = "DELETE FROM `phpres_open` WHERE `id` = '$_REQUEST[id]' LIMIT 1";
   $res = $conn->Execute($sql) or die($conn->ErrorMsg());
   if ($res)  ShowMsg(PRE_RT, "Multifarious_open.php");
}

// Update / Modify Res Std
if(isset($_REQUEST['id']) && !empty($_REQUEST['id'])){
   
   $sql = "SELECT * FROM `phpres_open` WHERE `id` = '$_REQUEST[id]'";
   $row = $conn->GetRow($sql) or die ($conn->ErrorMsg);
   $smarty->assign("class",    $row['class']);
   $smarty->assign("subject",  $row['subject']);
   $smarty->assign("content",  $row['content']);
   $smarty->assign("homepage", $row['homepage']);
   $smarty->assign("download", $row['download']);
   $smarty->assign("license", $row['license']);
}

$smarty->display('administrator/Multifarious_open.tpl');
?>
PHP开发资源网 - 全力打造中文PHP第一社群

TOP

看了一下,呵呵,这样排版太乱了,算了,如果有人需要就PM给我吧, 我打包发给你。
PHP开发资源网 - 全力打造中文PHP第一社群

TOP

我要
努力为phpres做贡献
时刻准备着,当机会来临时你就成功了
打好基础,增加社会经验
资深技术工程师是我的梦想
承接各种团体网站外包服务和各种it技术培训
准备申请AJAX版大,希望大家支持~~

TOP

老大,我要一份了,谢谢,xhq6632@126.com

TOP

我也要一份, 谢谢!
maxy.feng@gmail.com

TOP

我也要一份, 谢谢!
luchao19821228@163.com

[ 本帖最后由 luchao 于 2008-4-10 15:02 编辑 ]

TOP

给我一份吧
sf0223cn@163.com

TOP

我也要一份,谢谢.
zhaochong618@gmail.com

TOP

发新话题