火车头采集ecshop 文章接口文件
<?php
header("Content-Type:text/html;charset=utf-8"); $host = $_SERVER['HTTP_HOST'];
//if ($host!="localhost" && $host!="25-99.com" && $host!="www.25-99.com") die("域名未授权"); define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); $basepath = ROOT_PATH; $act = $_GET["action"];
if ($act=="post"){
//发布文章
extract ( $_POST, EXTR_OVERWRITE ); // 格式化post参数
if (!$cat_id){
if (stripos($catname,":")<1){ exit( "分类不正确" );}
}
if (! $title) { exit ( "标题不能为空" ); }
if (! $content) { exit ( "内容不能为空" ); } /* 字段列表 */
$field_list = array("title","content","author","author_email", "is_open", "keywords","cat_id","description"); $field_arr = array(
'add_time' => gmtime(),
); $field_arr['title'] = $title;
$field_arr['content'] = GetCurContent($content);
$field_arr['author'] = $author;
$field_arr['author_email'] = $author_email;
$field_arr['keywords'] = $keywords;
$field_arr['description'] = $description;
$field_arr['cat_id'] = $cat_id;
$field_arr['is_open'] = 1;
$field_arr['article_type'] = "0";
//如果上传了分类,则使用该分类
if (!empty($catname)){
$pid = "0";
$cid = "0";
$cats = explode(":",$catname);
foreach ($cats AS $cat){
if (!empty($cat) && $cat!=""){
$sql = "SELECT cat_id FROM " . $ecs->table('article_cat')." where cat_name='$cat' and parent_id=$pid";
$res=$db->query($sql);
$row = $db->fetchRow($res);
if (!empty($row))
{
$cid = $row["cat_id"];
$pid = $cid;
}
else
{
$sql = "INSERT INTO " . $ecs->table('article_cat') . " (cat_name,parent_id) VALUES ('" . addslashes($cat) . "','".$pid."')";
$db->query($sql);
$cid = $db->insert_id();
$pid = $cid;
}
}
}
$field_arr['cat_id'] = $cid;
} /* 给文章最后增加三个带有超链接的关键词 */
//取出关键字表的数据
$sql="select * from ". $GLOBALS['ecs']->table('content_key') ;
$res_k=$GLOBALS['db']->getAll($sql);
//从关键字中随机取出三个数组
$random_keys=array_rand($res_k,3);
$field_arr['content'] = $field_arr['content'].'<br/><br/>华企商城更多商品介绍:<a href="' .$res_k[$random_keys[0]]['key_url']. '">' .$res_k[$random_keys[0]]['key_name']. '</a> <a href="' .$res_k[$random_keys[1]]['key_url']. '">' .$res_k[$random_keys[1]]['key_name']. '</a> <a href="' .$res_k[$random_keys[2]]['key_url']. '">' .$res_k[$random_keys[2]]['key_name']. '</a>'; $db->autoExecute($ecs->table('article'), $field_arr, 'INSERT');
$gid = $db->insert_id(); echo("文章发布成功");
}else{
//获取分类
$sql = "select cat_id,parent_id,cat_name from ".$ecs->table('article_cat');
$rs = $db->query($sql);
if(!$rs){die("valid result!");}
echo("<select>");
while($row = $db->fetchRow($rs)){
if($row["parent_id"]==0){
echo "<option value='".$row["cat_id"]."'>".$row["cat_name"]."</option>";
}else{
echo "<option value='".$row["cat_id"]."'>----".$row["cat_name"]."</option>";
}
}
echo("</select>");
} /**
* 得到远程图片
*
* @access public
* @param goods_desc $goods_desc 要处理的内容
* @return mix 如果成功返回缩略图的路径,失败则返回false
*/
function GetCurContent($goods_desc)
{
$body = stripslashes($goods_desc);
$img_array = array();
//$body = ereg_replace("HTTP://".$_SERVER['SERVER_NAME']."/","",$body);//将源文件进行替换
preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[1]); set_time_limit(0);
$imgurl = "bdimages/upload1/".date('Ymd');
$imgpath = ROOT_PATH.$imgurl; $millisecond = date("YmdHms");
if (!file_exists($imgpath))
{
if (!make_dir($imgpath))
{
return false;
}
}
else
{ foreach($img_array as $key =>$value)
{
$value = trim($value);
$get_file = @file_get_contents($value);
$rndfilename = $imgpath."/".$millisecond.$key.".".substr($value,-3,3);
$fileurl = "http://".$_SERVER['SERVER_NAME']."/".$imgurl."/".$millisecond.$key.".".substr($value,-3,3);
// $fileurl = "/".$imgurl."/".$millisecond.$key.".".substr($value,-3,3);
if($get_file)
{
$fp = @fopen($rndfilename,"w");
@fwrite($fp,$get_file);
@fclose($fp);
}
//echo $rndfilename."<br/>".$fileurl."<br/>";
$body = str_replace($value,$fileurl,$body);;
echo $body;
}
}
$body = addslashes($body);
return $body;
} ?>
火车头采集ecshop 文章接口文件的更多相关文章
- ecshop init.php文件分析(转)
<?php /** * ECSHOP 前台公用文件 */ //防止非法调用 defined-判断常量是否已定义,如果没返回false if (!defined('IN_ECS')) { die( ...
- 火车头采集器对接织梦cms图集发布时, 采集网上图片超时的解决方法
背景介绍: 火车头采集器对接织梦cms图片集发布时, 对于多张(超过30张)大图片时, 经常会出现图集发布超时的情况. 问题分析: 因为php对于资源的处理有默认的超时时间30秒, 而我尝试了好多方 ...
- ECShop 文章添加缩略图功能
为 ECShop 文章添加缩略图 ECShop 文章不包含缩略图比较遗憾,不过它的文章里包含一个附件上传,而且一般不会用到,这样,我们就可以改动一下,让它成为缩略图. 首先在 includes ...
- 前端工程化:使用 shelljs 生成 yapi 接口文件
之前的文章介绍了使用 yapi-to-typescript (下文简称 ytt)生成接口类型定义文件,方便我们直接使用接口的请求和响应类型,能减少很多写接口类型的时间. 使用 yapi-to-type ...
- zw版_Halcon图像库delphi接口文件
zw版_Halcon图像库delphi接口文件 Halcon图像库delphi接口文件,根据安装时用户设置的文件目录不同,会有所差异,笔者一般安装在delphi的import目录下. 参见:& ...
- ecshop init.php文件分析
1. ecshop init.php文件分析 2. <?php 3. 4. /** 5. * ECSHOP 前台公用文件 6. * ===================== ...
- 软件測试系统文章(文件夹&链接在此)
前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...
- 用Node.JS+MongoDB搭建个人博客(app.js接口文件)(二)
app.js的GitHub地址:用力戳我然后点个star 说个题外话,THINKPHP是通过一个index.php来引入文件,所以被称为接口文件. 而NodeJS也有这样的接口文件,通常也会放在根目录 ...
- “必须执行Init_Clk函数,才能采集到二氧化碳接口485数据的问题”的解决
这个问题困扰了我很长一段时间,而且如果这个问题不解决,就有一个无法调和的矛盾:执行Init_Clk函数,能采集到二氧化碳接口485数据,但是功耗大:不执行Init_Clk函数,不能采集到二氧化碳接口4 ...
随机推荐
- jQuery fsBanner 手风琴
fsbanner是一款自定义功能丰富的响应式网站Banner手风琴特效jQuery插件.该手风琴特效兼容性很好,支持点击和鼠标滑过等触发事件,并且可添加标题或描述. 在线实例 默认 带标题 鼠标滑过 ...
- UITabBarController 基本定制
UITabBarController 定制 特点 用法 1.准备好你的tabBar图片及其他图片(哈哈哈!!!!),我的图片都放在了Assets.xcassets中. 2.导入本工程中的Categro ...
- 蓝牙协议中的SBC编码
一.从信息的传输说起  上图是一个典型的蓝牙耳机应用场景.手机上的音频信息经过编码以后通过蓝牙协议被蓝牙耳机接收,经过解码以后,蓝牙耳机成功获取手机上的音频信息,然后再转化为振动被人耳识别.这是一个 ...
- 自定义UITabBarController标签视图控制器
首先创建一个类,继承自UItabBarController 然后在.m文件中: 这里我有两个宏定义: #define WIDTH (myView.frame.size.width / 4) //我在写 ...
- System.Json 使用注意
在xamarin中对json字符串进行解析,使用System.Json时出现怪问题: json-string = { "ret" : "OK" } 使用如下代码 ...
- 拖拽手势和清扫手势冲突时(UIPanGestureRecognizer和UISwipeGestureRecognizer冲突时)
故事发生在这样的情境上:给整个控制器添加了一个拖拽手势,然后又在控制上的每个Cell上加了左滑清扫手势,然后问题来了:只有拖拽手势起作用,而左滑手势没有效果了,然后怎么解决这个问题呢!先上图: 当给整 ...
- 最新Android系统版本与API等级对应关系表
最新Android系统版本与API等级对应关系表 从Android官网拷过来的,方便查阅... 官网地址:https://developer.android.com/guide/topics/mani ...
- 【设计模式】GoF设计模式学习总结
什么是设计模式 为解决某一类普遍存在的问题而提供的一种解决方案: 分类及定义 创建型模式(5) 1.原型模式:通过复制一个已存在对象来生成一个新对象,被复制的对象称为原型:详情... 2.单例模式:一 ...
- javascript函数的几种写法集合
1.常规写法 function fnName(){ console.log("常规写法"); } 2.匿名函数,函数保存到变量里 var myfn = function(){ co ...
- hadoop-2.7.1伪分布环境搭建
1.准备Linux环境 1.0 点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet i ...