`

织梦 PHP 实现织梦发布功能

阅读更多

创建一个本地数据库

CREATE TABLE IF NOT EXISTS `tb_demo` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '//ID',
  `title` varchar(250) NOT NULL COMMENT '//标题',
  `content` text NOT NULL COMMENT '//内容',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

添加数据后的效果图:

 

index.php

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>发布织梦管理器</title>
<link rel="stylesheet" href="css/base.css" />
<style>
.box{ width:320px; border:1px solid #eee; margin:20px auto 0 auto; }
.box h1{ width:300px; height:48px; font-size:18px; line-height:48px; border-bottom:1px solid #eee; margin:0 auto; text-align:center; font-weight:bold; color:#f60; margin-bottom: 10px;}
.box p{ width: 300px; margin:0 auto; }
.box h3{ line-height:40px; text-align:center;}
.box h3 a{ color:#06f; font-weight:normal; text-decoration:underline; font-size:15px;}
.box h3 a:hover{ font-weight:bold;}
</style>
</head>
<body>
<div class="box">
	<h1>发布织梦管理器</h1>
	<p><a href="setJSON.php" target="_blank">发布数据到织梦后台里</a></p>
	<p><a href="cleanData.php" target="_blank">清理长度过短的数据</a></p>
</div>
</body>
</html>

 效果图:

 

cleanData.php

<?php
require "connect.inc.php";
ini_set('max_execution_time',200);

/******** 配置信息 BEGIN *******/
//Mysql的IP
$dbhost = '127.0.0.1';
//Mysql的账号
$dbuser = 'root';
//Mysql的密码
$dbpwd = '123456';
//Mysql里的数据库
$dbname = 'huocheDB';
//Mysql里的数据库指定那个表
$dbtable = 'tb_demo';


//标题长度,默认12个字节,三个字节等于一个汉字,所以是四个汉字,PS:一个字节等于一个字母
//$titlen = 12;
$titlen = 12;
//标题长度,默认120个字节,三个字节等于一个汉字,所以是四十个汉字,PS:一个字节等于一个字母
//$contlen = 120;
$contlen = 120;

/******** 配置信息 END *******/
?>

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>清理长度过短的数据</title>
<link rel="stylesheet" href="css/base.css" />
<style>
.box{ width:320px; border:1px solid #eee; margin:20px auto 0 auto; }
.box h1{ width:300px; height:48px; font-size:18px; line-height:48px; border-bottom:1px solid #eee; margin:0 auto; text-align:center; font-weight:bold; color:#f60; margin-bottom: 10px;}
.box p{ width: 300px; margin:0 auto; }
.box h3{ line-height:40px; text-align:center;}
.box h3 a{ color:#06f; font-weight:normal; text-decoration:underline; font-size:15px;}
.box h3 a:hover{ font-weight:bold;}
</style>
</head>
<body>
<?php
if($_GET['clean']=='yes'){
	define('DBHost',$dbhost);
	define('DBUser',$dbuser);
	define('DBPwd',$dbpwd);
	define('DBName',$dbname);
	sqlConnect();
	sqlSetDB();
	sqlSetName();
	$sql ="DELETE FROM $dbtable WHERE LENGTH(title)<$titlen OR LENGTH(content)<$contlen";
	$result = sqlQuery($sql);
	sqlClose();
	echo '<div class="box"><h1>清理长度过短的数据已成功</h1>';
	echo '<p>服务器IP:'.$dbhost.'</p><p>数据库:'.$dbname.'</p><p>对应的表:'.$dbtable.'</p><p>标题长度小于'.$titlen.'字节</p><p>内容长度小于'.$contlen.'字节</p>';
	echo '<h3><a href="index.php">返回导航</a></h3></div>';
}else{
	echo '<div class="box"><h1>是否清理长度过短的数据</h1>';
	echo '<p>服务器IP:'.$dbhost.'</p><p>数据库:'.$dbname.'</p><p>对应的表:'.$dbtable.'</p><p>标题长度小于'.$titlen.'字节</p><p>内容长度小于'.$contlen.'字节</p>';
	echo '<h3><a href="?clean=yes">开始清理</a></h3></div>';
}
?>
</body>
</html>

 这时候数据库的效果图:

 

setJSON.php

<?php
require "connect.inc.php";
ini_set('max_execution_time',200);

/******** 配置信息 BEGIN *******/
//Mysql的IP
$dbhost = '127.0.0.1';
//Mysql的账号
$dbuser = 'root';
//Mysql的密码
$dbpwd = '123456';
//Mysql里的数据库
$dbname = 'huocheDB';
//Mysql里的数据库指定那个表
$dbtable = 'tb_demo';

//从哪个id开始,最小的值为 1
$beginID = 1;
//获取多少条数据
$number = 4;
//设置保存的名称,若不重新命名,会覆盖原来的JSOP数据
$jsonName = 'data5';

/******** 配置信息 END *******/
?>
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>第一步:保存选中的数据到JSON文件里</title>
<link rel="stylesheet" href="css/base.css" />
</head>
<body>
<?php
define('DBHost',$dbhost);
define('DBUser',$dbuser);
define('DBPwd',$dbpwd);
define('DBName',$dbname);
sqlConnect();
sqlSetDB();
sqlSetName();

$sql = "SELECT 	id, title, content FROM $dbtable WHERE id>=$beginID LIMIT 0, $number";
$result = sqlQuery($sql);

$data = array();
$i=0;
$jsonName = "json/$jsonName.json";

echo '<table cellpadding="0" cellspacing="0" class="g-w">';
echo '<tr class="header"><td colspan="3" align="center">第一步:保存选中的数据到JSON文件里</td></tr>';
echo '<tr class="info"><td colspan="3" align="center">服务器IP:'.$dbhost.' 数据库:'.$dbname.' 对应的表:'.$dbtable.' 保存JSON路径:'.$jsonName.'  从ID '.$beginID.' 开始获取'.$number.'条数据</td></tr>';
echo '<tr class="title"><td>ID</td><td align="center">标题</td><td align="center">内容</td></tr>';

while (!!$row = mysql_fetch_array($result)){
	$data[$i] = array($row[id],$row[title],$row[content]);
	$title = mb_strlen($row[title],'utf-8')>30?mb_substr($row[title],0,27, 'utf-8').'...':$row[title];
	$content = mb_substr(str_replace(array(" "," ","\t","\n","\r"),array("","","","",""),strip_tags($row[content])),0,60, 'utf-8');
	echo '<tr><td>'.$row[id].'</td><td>'.$title.'</td><td>'.$content.'</td></tr>';
	$i++;
}
$json_string = json_encode($data);

file_put_contents($jsonName, $json_string);
sqlClose();
echo '<tr class="footer"><td colspan="3" align="center">已成功添加到JSON文件 <a href="putDEDE.php">点击这里,开始发布数据到织梦后台</a></td></tr></table>';
?>
</body>
</html>

效果图:

 

putDEDE.php

<?php
require "connect.inc.php";
ini_set('max_execution_time',200);

/******** 配置信息 BEGIN *******/
//Mysql的IP
$dbhost = '120.120.120.120';
//Mysql的账号
$dbuser = 'testDB';
//Mysql的密码
$dbpwd = '123456';
//Mysql里的数据库,默认和账号是一样的
//$dbname = 'demo2';
$dbname = $dbuser;


//输入你要发布的JSON数据的名称
$jsonName = 'data5';
//设置栏目ID
//$typeid ='4';
$typeid ='5';
//设置作者
//$writer = 'Muller';
$writer = 'Muller';

/******** 配置信息 END *******/
?>
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>发布数据到织梦后台</title>
<link rel="stylesheet" href="css/base.css" />
</head>
<body>
<?php
$jsonName = "json/$jsonName.json";
$json_string = file_get_contents($jsonName);
$data = json_decode($json_string, true);

define('DBHost',$dbhost);
define('DBUser',$dbuser);
define('DBPwd',$dbpwd);
define('DBName',$dbname);
sqlConnect();
sqlSetDB();
sqlSetName();

//获取栏目
$sqlGetType ="SELECT typename FROM dede_arctype WHERE id=$typeid LIMIT 0, 1";
$result = sqlGetOne($sqlGetType);
$typename = mb_strlen($result[typename])<=0?'栏目不存在':$result[typename];

if($_GET['db']=='go'){
	
	//获取插入数据的ID
	$sqlGetID ='SELECT id FROM dede_archives ORDER BY id DESC LIMIT 0, 1';
	$result2 = sqlGetOne($sqlGetID);
	$dataid = $result2[id];
	$dataid+=1;
	
	//创建日志
	date_default_timezone_set("Asia/Shanghai");
	$log = 'log/log '.@date("Y-m-d h.i.s").'.txt';
	$logTxt = '服务器IP:'.$dbhost.' 账号:'.$dbuser.' JSON路径:'.$jsonName.' 栏目ID:'.$typeid.' 栏目内容:'.$typename.' 作者:'.$writer;
	$logTxt .= "\n插入信息如下:\n";
	$logTxt .= "=============== begin ============= \n";
	
	echo '<table cellpadding="0" cellspacing="0" class="g-w">';
	echo '<tr class="header"><td align="center">最后一步:发布完成,不要刷新页面,因为刷新页面会重新发布一次</td></tr>';
	echo '<tr class="info"><td align="center">服务器IP:'.$dbhost.' 账号:'.$dbuser.' JSON路径:'.$jsonName.' 栏目ID:'.$typeid.' 栏目内容:'.$typename.' 作者:'.$writer.'</td></tr>';
	echo '<tr class="title"><td>正在写入日志。。。</td></tr>';

	//循环插入数据
	for($i=0;$i<count($data);$i++){
		//初始化
		//默认插入当前的时间
		$date = time();
		//随机数
		$click = mt_rand(100, 500);
		
		//JSON 数据
		$id = $data[$i][0];
		$title = $data[$i][1];
		$content = $data[$i][2];
		
		//获取描述
		$description = mb_substr(str_replace(array(" "," ","\t","\n","\r"),array("","","","",""),strip_tags($content)),0,250, 'utf-8');
		
		$sqlAdd = "INSERT INTO dede_archives (id, typeid, typeid2, sortrank, flag, ismake, channel, arcrank, click, money, title, shorttitle, color, writer, source, litpic, pubdate, senddate, mid, keywords, lastpost, scores, goodpost, badpost, voteid, notpost, description, filename, dutyadmin, tackid, mtype, weight) VALUES ('$dataid', '$typeid', '0', '$date', NULL, '1', '1', '0', '$click', '0', '$title', '', '', '$writer', '未知', '', '$date', '$date', '1', '$title', '0', '0', '0', '0', '', '0', '$description', '', '1', '0', '0', '0')";
		$sqlAdd2 = "INSERT INTO dede_addonarticle(aid, typeid, body, redirecturl, templet, userip) VALUES ('$dataid','$typeid','$content','','','127.0.0.1')";
		$sqlAdd3 = "INSERT INTO dede_arctiny (id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid) VALUES ('$dataid', '$typeid', '0', '0', '1', '$date', '$date', '1')";
		$sqlUpdata = "Update dede_archives set arcrank =0,ismake=1,dutyadmin =1,tackid=0 WHERE id=$dataid";
		sqlQuery($sqlAdd); 
		sqlQuery($sqlAdd2);
		sqlQuery($sqlAdd3);
		sqlQuery($sqlUpdata);
		echo '<tr><td>JSON ID:'.$id.' 对应的织梦ID是: '.$dataid.' 标题:'.$title .' </td></tr>';
		$logTxt .= 'JSON ID:'.$id.' 对应的织梦ID是: '.$dataid.' 标题:'.$title ."\n";
		$dataid++;
	}
	$logTxt .= "=============== end ============= \n";
	file_put_contents($log, $logTxt);
	echo '<tr class="footer"><td align="center">已发布成功,保存日志文件:'.$log.',请关闭该页面或<a href="index.php">点击返回首页</a></td></tr></table>';
}else{
	echo '<table cellpadding="0" cellspacing="0" class="g-w">';
	echo '<tr class="header"><td colspan="3" align="center">第二步:发布前检查</td></tr>';
	echo '<tr class="info"><td colspan="3" align="center">服务器IP:'.$dbhost.' 账号:'.$dbuser.' JSON路径:'.$jsonName.' 栏目ID:'.$typeid.' 栏目内容:'.$typename.' 作者:'.$writer.'</td></tr>';
	echo '<tr class="title"><td>ID</td><td align="center">标题</td><td align="center">内容</td></tr>';
	for($i=0;$i<count($data);$i++){
		$title = mb_strlen($data[$i][1],'utf-8')>30?mb_substr($data[$i][1],0,27, 'utf-8').'...':$data[$i][1];
		$content = mb_substr(str_replace(array(" "," ","\t","\n","\r"),array("","","","",""),strip_tags($data[$i][2])),0,60, 'utf-8');
		echo '<tr><td>'.$data[$i][0].'</td><td>'.$title.'</td><td>'.$content.'</td></tr>';
	}
	echo '<tr class="footer"><td colspan="3" align="center">确定没问题后 <a href="?db=go">点击开始发布</a></td></tr></table>';
}
sqlClose();
?>
</body>
</html>

 效果图:

 

进入织梦后台查看,如图:

 

 

  • 大小: 55 KB
  • 大小: 21.3 KB
  • 大小: 50.6 KB
  • 大小: 84.2 KB
  • 大小: 80.5 KB
  • 大小: 62.8 KB
  • 大小: 38.6 KB
1
0
分享到:
评论

相关推荐

    织梦DedeCMS实现百度Ping推送功能

    织梦DedeCMS的百度Ping推送功能要有Rss订阅才能实现,所以再实现百度推送功能之前要简单的增加个织梦的RSS订阅功能 一、增加织梦RSS订阅功能 打开下载的“sitemap+百度ping(gb2312).rar等”里面的“全站rss”,把php...

    织梦PHP分类信息源码

    织梦地方php分类信息源码免费下载, 1.上传程序到网站根目录,访问http://域名/install/index.php 进行安装,不要直接打开网址,先直接安装; 2.安装完成后 后台恢复数据即可 默认帐号密码都是admin http://域名/...

    织梦自动推送百度、熊掌号、MIP、神马插件

    本织梦插件支持在发布文章时,可自动向百度主动实时推送、百度MIP推送、熊掌号天级收录推送、周级收录推送、神马MIP数据推送文章链接,达到促进搜索引擎快速搜录的目的。 本织梦插件支持PC端、手机端或MIP端三端...

    织梦插件,好用微信插件

    插件,最好用的威信插件 实现使用织梦建3G微网站,自定义菜单,图文回复。与网站内容联系起来,实现3G网站与微信无缝整合。

    php织梦内核微信营销类网站源码

    php织梦内核微信营销类网站源码,微信营销 织梦微信营销 微信营销源码 网站源码 下载 微信营销利器!

    织梦条件联合查询

    织梦的多条件联合查询,例如京东的条件查询,以当前关键字的联合查询

    织梦网站蜘蛛爬行痕迹记录插件-支持各类搜索引擎

    织梦网站蜘蛛爬行痕迹记录插件最新版,此款插件支持各类搜索引擎及织梦静态动态伪静态,插件功能齐全,可查看到蜘蛛爬行记录,支持删除。 1、无需利用三方工具查看爬行记录,方便快捷省事。 2、插件安装简单快捷,...

    织梦后台开发手册

    这个是关于织梦后台的功能描述,能帮助刚入门和对织梦没有系统了解的人做一个统一归纳

    织梦手机助手

    织梦手机助手 php

    织梦内核)PHP+MYSQL携手旅游网整站程序

    织梦内核)PHP+MYSQL携手旅游网整站程序

    织梦团购管理系统 x1 beta.rar

    X1织梦团购程序功能亮点 ·无特别设置,支持城市二级域名 ·完美整合QQ、新浪、支付宝、团800、2345团、360团等第三方API登录。 ·财务统计管理更详尽,直观 ·集成快递查询,google地图显示等辅助应用 ·增加...

    织梦 企业网站 php cms

    织梦 企业网站 php cms 简洁静态代码访问高效

    织梦手机助手(PC WAP完美同步) v2.0.zip

    织梦手机助手的优点: 1、模板制作简单,通用织梦标签 2、同一后台,易操作和管理 3、可生成HTML静态页面,易优化 4、自动识别自动调转 5、支持一键同步更新电脑手机版 织梦手机助手安装步数: ( 3分钟学会 ) ...

    物流货运类企业通用织梦PHP源码.rar

    物流货运类企业通用织梦PHP源码.rar

    织梦分页文件及样式

    内含分页文件php及css样式以及调用方法。 去掉织梦原来的分页标签li,改为a和span,方便写样式和对浏览器的兼容

    织梦CMS-淘宝客合作版织梦模块 Beta1 UTF8.rar

    织梦模块,前者为已经集成淘宝客模块的整站系统,用户只需要下载安装便可以使用淘宝客的所有功能,后者专门为已经安装织梦系统的用户准备的,只需要在系统模块管理中上传安装模块便可以同样使用淘宝客系统功能。...

    织梦专题模块

    织梦专题管理模块,通过压缩的html专题上传,自行解压到theme文件夹里,

    织梦搭配百度ueditor编辑器.rar

    本版是utf-8版本,用于织梦后台直接可以粘贴图片发表内容 ...inc_fun_funAdmin.php可用于替换织梦include\inc\inc_fun_funAdmin.php文件 ueditor是可以直接粘贴图片的百度编辑器,放置在织梦include目录下面

    织梦ckplayer视频播放器插件 v1.9

    织梦ckplayer视频播放器插件是一款功能非常强大的视频播放插件,可以让你的网站立刻拥有视频播放功能,并且兼容手机移动端html5视频播放,是目前用户数量最多的一款视频播放插件。主要功能有如下:1、网页在线播放...

    织梦个人网站即时到账支付插件

    接入支付宝、微信等支付方式都需要企业资质,个人用户无法申请,但很多时候个人网站也需要接入支付,目前市面上为了实现个人即使到账,要么通过购买软件监听个人账户的交易记录来模拟即使到账,要么只能接入第四方...

Global site tag (gtag.js) - Google Analytics