帝国cms利用PHP直接提交数据更新文章

提交的代码:

闲着没事把火车头模块给仔细研究了一下,结合帝国cms,于是有了下面的代码,会php的大佬可以修改,下面的只是一个简单的提交代码,数据需要自己设置!

<?php
$url = "https://www.4s5.cn/e/admin/123.php"; // 替换为实际的接收数据的URL,你的火车头接口

// 要提交的数据
$postData = array(
    "enews" => "AddNews", // 操作类型
    "classid" => "1", // 类别ID
    "bclassid" => "0", // 父类别ID
    "id" => "0", // 文章ID
    "filepass" => "[Timestamp:时间]", // 文件密码
    "username" => "admin1", // 用户名
    "oldfilename" => "", // 旧文件名
    "oldgroupid" => "", // 旧用户组ID
    "oldchecked" => "1", // 旧审核状态
    "newstext_url" => "", // 新闻链接
    "ecmsfrom" => "", // 来源
    "ecmsnfrom" => "1", // 是否显示来源
    "fstb" => "", // 标题加粗
    "oldttid" => "", // 旧标题分类ID
    "ecmscheck" => "0", // 是否审核
    "ztids" => "", // 所属专题ID
    "zcids" => "", // 所属专栏ID
    "oldztids" => "", // 旧所属专题ID
    "oldzcids" => "", // 旧所属专栏ID
    "havetmpic" => "0", // 是否有临时图片
    "title" => "", // 标题
    "titlecolor" => "", // 标题颜色
    "ftitle" => "", // 副标题
    "checked" => "1", // 审核状态
    "isgood" => "0", // 是否推荐
    "firsttitle" => "0", // 是否头条
    "keyboard" => "", // 关键词
    "titleurl" => "", // 标题链接
    "newstime" => "2023-11-22 17:56:36", // 发布时间
    "titlepic" => "", // 缩略图
    "smalltext" => "", // 简介
    "writer" => "", // 作者
    "w_id" => "", // 作者ID
    "befrom" => "", // 资讯来源
    "befrom_id" => "选择信息来源", // 资讯来源ID
    "newstext" => "", // 正文内容
    "dokey" => "1", // 是否生成关键词
    "qz_url" => "", // 网址前缀
    "autosize" => "5000", // 自动提取摘要字数
    "getfirsttitlepic" => "", // 是否获取第一个标题图片
    "getfirsttitlespicw" => "105", // 获取第一个标题图片宽度
    "getfirsttitlespich" => "118", // 获取第一个标题图片高度
    "istop" => "0", // 是否置顶
    "newstempid" => "1", // 内容模板ID
    "groupid" => "0", // 用户组ID
    "userfen" => "0", // 用户积分
    "onclick" => "62", // 点击数
    "totaldown" => "0", // 下载数
    "newspath" => "", // 存放目录
    "filename" => "", // 文件名
    "infotags" => "", // 信息标签
    "oldinfotags" => "", // 旧信息标签
    "info_diyotherlink" => "0", // 是否自定义相关链接
    "info_keyid" => "", // 相关信息关联ID
    "info_infouptime" => "2023-11-22 17:56:36", // 信息发布时间
    "info_infodowntime" => "", // 信息下架时间
    "vote_title" => "", // 投票标题
    "vote_name" => ["", "", "", "", "", "", "", ""], // 投票选项名称
    "vote_num" => ["0", "0", "0", "0", "0", "0", "0", "0"], // 投票选项初始票数
    "v_vote_num" => "1", // 投票选项总数
    "v_editnum" => "8", // 可编辑的投票选项数
    "vote_class" => "0", // 投票类型
    "dovote_ip" => "0", // 投票限制方式
    "vote_olddotime" => "0000-00-00", // 投票开始时间
    "vote_dotime" => "0000-00-00", // 投票结束时间
    "vote_width" => "500", // 投票宽度
    "vote_height" => "300", // 投票高度
    "vote_tempid" => "1", // 投票模板ID
    "addnews" => "提交" // 提交操作标识
);

// 转换为字符串格式
$postDataStr = http_build_query($postData);

// 初始化 CURL
$ch = curl_init();

// 设置 CURL 参数
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postDataStr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 执行 CURL 请求
$response = curl_exec($ch);

// 检查请求是否成功
if ($response === false) {
    echo "CURL Error: " . curl_error($ch);
} else {
    echo "Response: " . $response;
}

// 关闭 CURL
curl_close($ch);
?>

接口代码:

这个就是火车头对接帝国cms免登陆发布的php文件,上传到你的admin目录下面就行,例如:e/admin/

<?php

/********密码验证***********/
$password='9999999';				                   //这个密码是登陆验证用的.您需要在模块里设置和这里一样的密码....注意一定需要修改.
if($password!=$_GET['pw']) exit('验证密码错误');   //安全检测,密码不符则退出


/****以下代码非专业人员不建议修改***************/
define('EmpireCMSAdmin','1');
require("../class/connect.php");
require("../class/db_sql.php");
require("../class/functions.php");
require LoadLang("pub/fun.php");
require("../class/delpath.php");
require("../class/copypath.php");
require("../class/t_functions.php");
require("../data/dbcache/class.php");
require("../data/dbcache/MemberLevel.php");


//获取分类列表
foreach($class_r as $kv)
{
	if($kv['modid']=='1')
	{
		$cates[]=array('cname'=>$kv['classname'],'cid'=>$kv['classid'],'pid'=>$kv['bclassid']);
	}
}

if(empty($_POST))
{
	//这里刷新列表
	echo "<select name='list'>";
	echo maketree($cates,0,'');
	echo '</select>';
	exit();
}

foreach($_POST as $k=>$v){
    if(strpos($v,'[db:') !== false){
        $_POST[$k] = '';
    }
}
$link=db_connect();
$empire=new mysqlquery();
//验证用户
$loginin=$_POST['username'];
$lur=$empire->fetch1("select * from {$dbtbpre}enewsuser limit 1");
if(!$lur) exit('不存在的用户名'.$loginin);

$loginin = $lur['username'];
$logininid=$lur['userid'];
$loginrnd=$lur['rnd'];
$loginlevel=$lur['groupid'];
$loginadminstyleid=$lur['adminstyleid'];

$incftp=0;
if($public_r['phpmode'])
{
	include("../class/ftp.php");
	$incftp=1;
}
require("../class/hinfofun.php");
$navtheid=(int)$_POST['filepass'];
AddNews($_POST,$logininid,$loginin);

db_close();
$empire=null;

/***生成目录的一个遍历算法***/
function maketree($ar,$id,$pre)
{
	$ids='';
	foreach($ar as $k=>$v){
		$pid=$v['pid'];
		$cname=$v['cname'];
		$cid=$v['cid'];
		if($pid==$id)
		{
			$ids.="<option value='$cid'>{$pre}{$cname}</option>";
			foreach($ar as $kk=>$vv)
			{
				$pp=$vv['pid'];
				if($pp==$cid)
				{ 
					$ids.=maketree($ar,$cid,$pre."&nbsp;&nbsp;");
					break;
				}
			}
		}
	}
	return $ids;
}
© 版权声明
THE END
喜欢就支持一下吧
点赞16
评论 抢沙发

请登录后发表评论

    暂无评论内容