一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php blog网站开发实例教程

时间:2010-08-06 编辑:简简单单 来源:一聚教程网

  post.php  读文件并显示日志内容的php程序。
  page.html  显示日志文章的html文档。
  style.css教程  页面显示效果的css代码。
  add.php  添加blog文章的php程序。
  config/auth.php 用户名和密码配置文件。
  index.php  blog首页程序。
  edit.php  编辑blog文章的程序。
  delete.php  删除blog文章的程序。
  archives.php 归档显示blog文章的程序。
  logout.php  退出登录的程序。

 */
  //post.php  读文件并显示日志内容的php程序。
 

 代码如下 复制代码

if(!isset($_get['entry']))
{
    echo '请求参数错误';
    exit;
}

$post_data = array();

$path = substr($_get['entry'],0,6);             //日志存储目录
$entry = substr($_get['entry'],7,9);            //日志文件名称
$file_name = 'contents/'.$path.'/'.$entry.'.txt';

if(file_exists($file_name))
{
    $fp = @fopen($file_name, 'r');
    if($fp)
    {
        flock($fp, lock_sh);
        $result = fread($fp, filesize($file_name)*100);
    }
    flock($fp, lock_un);
    fclose($fp);
}

$content_array = explode('|', $result);

$post_data['subject'] = $content_array[0];
$post_data['date'] = date('y-m-d h:i:s',$content_array[1]);
$post_data['content'] = $content_array[2];
//print_r($post_data);
?>




基于文本的简易blog



 
 

  ----i have dream....
 

 

  

   

   

    

    
   

  

 

 
 
 
 


  //page.html  显示日志文章的html文档。
 

 代码如下 复制代码




blog



   
   

        ----i have a dream....
   

   

       

           
日志文章标题

           

               
2007-12-01

                日志文章内容
           

       

   

   
   
   
   



 

 

 
//style.css  页面显示效果的css代码。

 

 代码如下 复制代码

  body{
font-size:12px;
background-color:#c6c68c;
padding:0px;
font-family:helvetica,sans-serif;
}

#container{
margin-left:auto;
margin-right:auto;
margin-top:2px;
margin-bottom:0px;
padding:0;
width:760px;
border:1px solid #000;
background-color:#f6f6f6;
}

#header{
margin-left:auto;
margin-right:auto;
padding:8px;
height:80px;
background-color:#e8f3fd;
border-bottom:1px solid #000;
font-size:16px;
font-weight:bold;
}

#title{
margin-left:auto;
margin-right:auto;
padding:8px;
height:10px;
background-color:#e8f3fd;
border-bottom:1px solid #000;
font-style:italic;
}

#left{
float:left;
margin-left:auto;
margin-right:auto;
margin:6px 0 4px 2px;
padding:5px;
width:530px;
}

#right{
float:right;
margin-left:auto;
margin-right:auto;
margin:6px 0 4px 2px;
padding:5px;
width:200px;
}

#blog_entry{
margin-left:auto;
margin-right:auto;
margin-top:4px;
margin-bottom:10px;
border:1px solid #000;
background-color:#fff;
}

#blog_title{
border-bottom:1px solid #000;
background-color:#e8ecdb;magin:0px;
padding:4px;
font-weight:bold;
font-size:13px;
}

#blog_body{
margin-left:auto;
margin-right:auto;
margin-top:4px;
padding:6px;
}

#blog_date{
margin-left:auto;
margin-right:auto;
padding:0 0 8px 0;
font-size:10px;
}

#sidebar{
margin-left:auto;
margin-right:auto;
border:1px solid #000;
width:180px;
background-color:#fff;
}

#menu_title{
border-bottom:1px solid #000;
background-color:#e8ecdb;
magin:0px;padding:4px;
height:10px;
font-weight:bold;
}

#menu_body{
margin-left:auto;
margin-right:auto;
margin-top:4px;
padding:6px;
}

#footer{
clear:both;
text-align:center;
margin-left:auto;
margin-right:auto;
padding:8px;
height:10px;
background-color:#e8f3fd;
border-top:1px solid #000;
}
 

 

 
//add.php  添加blog文章的php程序。
 

 

 代码如下 复制代码

$ok = true;
if(isset($_post['title']) && isset($_post['content']))
{
    $ok = true;
   
    $title = trim($_post['title']);
    $content = trim($_post['content']);
    $date = time();
    $blog_str = $title.'|'.$date.'|'.$content;
   
    $ym = date('ym',time());
    $d = date('d',time());
    $time = date('his',time());
   
    $folder = 'contents/'.$ym;
    $file = $d.'-'.$time.'.txt';
    $filename = $folder.'/'.$file;
    $entry = $ym.'-'.$d.'-'.$time;
   
    if(file_exists($folder) == false)
    {
        if(!mkdir($folder))
        {
            //$ok = false;
            //$msg = '创建目录异常,添加日志失败';
        }
    }
   
    $fp = @fopen($filename, 'w');
    if($fp)
    {
        flock($fp, lock_ex);
        $result = fwrite($fp, $blog_str);
        $lock = flock($fp, lock_un);
        fclose($fp);
    }
    if(strlen($result)>0)
    {
        //$ok = false;
        $msg = '日志添加成功,查看该日志文章';
        echo $msg;
    }
}
?>




基于文本的简易blog



   
   

        ----i have dream....
   

   


       

           
添加一篇新日志

           
           

               

               
               
                   
                   
                   
                   
                   
               
               
日志标题:
日志内容:

           

       

   

   
   
   
   



  //config/auth.php 用户名和密码配置文件。
  $auth = array();
$auth['user'] = 'admin';
$auth['passwd'] = '21232f297a57a5a743894a0e4a801fc3';
?>
 

 

 
//index.php  blog首页程序。
 

 

 代码如下 复制代码

$login = false;

session_start();

if(!empty($_session['user']) && $_session['user']=='admin')            //判断用户是否登录
    $login = true;

$file_array = array();
$folder_array = array();

$dir = 'contents';
$dh = opendir($dir);

if($dh)
{
    $filename = readdir($dh);

    while($filename)                                                   //循环处理按年月归档的日志文章
    {
        if($filename != '.' && $filename != '..')
        {
            //$folder_name = substr($filename,0,4).'-'.substr($filename,4,2);
            $folder_name = $filename;
            array_push($folder_array,$folder_name);
        }
        $filename = readdir($dh);
    }
}
rsort($folder_array);

$post_data = array();
foreach($folder_array as $folder)
{
    $dh = opendir($dir.'/'.$folder);                                   //处理每个目录下的日志文件
    while(($filename = readdir($dh)) !== false)
    {
        if(is_file($dir.'/'.$folder.'/'.$filename))
        {
            $file = $filename;
            $file_name = $dir.'/'.$folder.'/'.$file;
           
            if(file_exists($file_name))
            {
                $fp = @fopen($file_name, 'r');
                if($fp)
                {
                    flock($fp, lock_sh);
                    $result = fread($fp, filesize($file_name));
                }
                flock($fp, lock_un);
                fclose($fp);
            }
            $temp_data = array();
            $content_array = explode('|', $result);
           
            $temp_data['subject'] = $content_array[0];                  //文章标题
            $temp_data['date'] = date('y-m-d h:i:s',$content_array[1]); //发表时间
            $temp_data['content'] = $content_array[2];                  //文章内容
            $file = substr($file,0,9);                                  //日志文章所在文件名
            $temp_data['filename'] = $folder.'-'.$file;         
            array_push($post_data,$temp_data);
        }
    }
}
//print_r($post_data);
?>




基于文本的简易blog



   
   

        ----i have dream....
   

   

        {
    ?>
       

       

           

               

               
               

                                            if($login)
                        {
                            echo '编辑   删除';   
                        }
                     ?>
               

           

       

   
   

   
   
   
   


 

 

  //edit.php  编辑blog文章的程序。
 

 

 代码如下 复制代码

session_start();
$ok = false;

if(!isset($_get['entry']))
{
    echo '请求参数错误!';
    exit;
}

if(empty($_session['user']) || $_session['user']!='admin')
{
    echo '请登录后执行该操作。';
    exit;
}

$path = substr($_get['entry'],0,6);             //日志存储目录
$entry = substr($_get['entry'],7,9);            //日志文件名称
$file_name = 'contents/'.$path.'/'.$entry.'.txt';

if(file_exists($file_name))                     //取出原文件内容
{
    $fp = @fopen($file_name, 'r');
    if($fp)
    {
        flock($fp, lock_sh);
        $result = fread($fp, filesize($file_name));
    }
    flock($fp, lock_un);
    fclose($fp);
   
    $content_array = explode('|', $result);      //将文件内容存放在数组中
}

if(isset($_post['title']) && isset($_post['content']))
{
    $title = trim($_post['title']);
    $content = trim($_post['content']);
   
    if(file_exists($file_name))
    {
        //根据用户修改时提交的内容,替换现有文件的内容,注意替换的对应关系,即标题、内容各自对应做替换
           $blog_temp = str_replace($content_array[0],$title,$result);
        $blog_str = str_replace($content_array[2],$content,$blog_temp);
       
        $fp = @fopen($file_name, 'w');
        if($fp)
        {
            flock($fp, lock_ex);
            $result = fwrite($fp, $blog_str);
            $lock = flock($fp, lock_un);
            fclose($fp);
        }
    }
   
    if(strlen($result)>0)
    {
        $ok = true;
        $msg = '日志修改成功,查看该日志文章';
    }
}
?>




基于文本的简易blog



   
   

        ----i have dream....
   

   


       

           
编辑日志

           
           

                        {
            ?>
               

               
               
                   
                   
                   
                   
                   
                   
               
               
日志标题:
日志内容:
创建于:

           
           
           

       

   

   
   
   
   



 

 

 
//delete.php  删除blog文章的程序。
 

 

 代码如下 复制代码

session_start();
$ok = false;

if(empty($_session['user']) || $_session['user']!='admin')
{
    echo '请登录后执行该操作。';
    exit;
}

if(!isset($_get['entry']))
{
    if(!isset($_post['id']))
    {
        $ok = true;
        $msg = '请求参数错误!返回首页';
    }
    else
    {
        //做删除操作
        $path = substr($_post['id'],0,6);             //日志存储目录
        $entry = substr($_post['id'],7,9);            //日志文件名称
        $file_name = 'contents/'.$path.'/'.$entry.'.txt';
        if(unlink($file_name))
        {
            $ok = true;
            $msg = '该日志成功删除!返回首页';
        }
        else
        {
            $ok = true;
            $msg = '该日志删除失败!返回首页';
        }
    }
}
else
{
    $form_data = '';
    $path = substr($_get['entry'],0,6);             //日志存储目录
    $entry = substr($_get['entry'],7,9);            //日志文件名称
    $file_name = 'contents/'.$path.'/'.$entry.'.txt';
    if(file_exists($file_name))
    {
        $form_data = '';
    }
    else
    {
        $ok = true;
        $msg = '所要删除的日志不存在!返回首页';
    }
}
?>




基于文本的简易blog



   
   

        ----i have dream....
   

   

       

           
删除日志

           

                        {
            ?>
               

                删除的日志将无法恢复,确定要删除吗?

               
               
               

           
           
           

       

   

   
   
   
   



 

 

 
//archives.php 归档显示blog文章的程序。
 

 

 代码如下 复制代码

$ok = false;

if(!isset($_get['ym']) || empty($_get['ym']))
{
    $ok = true;
    $msg = '请求参数错误!返回首页';
}

$folder_array = array();
$dir = 'contents';
$folder = $_get['ym'];
if(!is_dir($dir.'/'.$folder))
{
    $ok = true;
    $msg = '请求参数错误!返回首页';
}

$dh = opendir($dir);
if($dh)
{
    $filename = readdir($dh);
    while($filename)
    {
        if($filename != '.' && $filename != '..')
        {
            $folder_name = $filename;
            array_push($folder_array,$folder_name);
        }
        $filename = readdir($dh);
    }
}
rsort($folder_array);

$post_data = array();
$dh = opendir($dir.'/'.$folder);

while(($filename = readdir($dh)) !== false)
{
    if(is_file($dir.'/'.$folder.'/'.$filename))
    {
        $file = $filename;
        $file_name = $dir.'/'.$folder.'/'.$file;
       
        if(file_exists($file_name))
        {
            $fp = @fopen($file_name, 'r');
            if($fp)
            {
                flock($fp, lock_sh);
                $result = fread($fp, filesize($file_name));
            }
            flock($fp, lock_un);
            fclose($fp);
        }
        $temp_data = array();
        $content_array = explode('|', $result);
       
        $temp_data['subject'] = $content_array[0];
        $temp_data['date'] = date('y-m-d h:i:s',$content_array[1]);
        $temp_data['content'] = $content_array[2];
        array_push($post_data,$temp_data);
    }
}
?>




基于文本的简易blog



   
   

        ----i have dream....
   

   

        if($ok == false)
    {
        foreach($post_data as $post)
        {
    ?>
       

       

           

               

               
           

       

        }
    else{
    echo $msg;
    }
    ?>
   

   
   
   
   




 

 

 

 

 代码如下 复制代码

//logout.php  退出登录的程序。
  session_start();
$info = '';

if(isset($_session['user']))
{
    $_session['user'] = '';
    $msg = '您已经成功退出,返回首页';
}
else
{
    $msg = '您未曾登录或已经超时退出,返回首页';
}
?>



基于文本的简易blog



   
   

        ----i have dream....
   

   

       

           
退出登录

           

           
           

       

   

   
   
   
   


?>

热门栏目