火车头采集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 ...
随机推荐
- co源码解读
背景: 闲来无事,翻了下co的源码来看,源码短小精悍,算上注释,一共240行左右: 决定写一篇博客来记录下学习的心得. TJ大神的co:https://github.com/tj/co 作用: co通 ...
- 将语音搜索集成到Google Now中
原文标题:Use Voice Search to integrate with Google Now 原文链接:http://antonioleiva.com/voice_search_google_ ...
- RecyclerView如何消除底部的分割线
最近遇到一个问题,用RecyclerView显示数据,纵向列表显示,添加默认分割线. 问题是:底部也会显示分割线,这很影响美观. 怎么解决这个问题呢?我想了很多办法,毫无头绪... 最后, ...
- C语言中的far关键字
最近看嵌入式文件系统TFFS的源码,看到far关键字,基础不好,惊呆了... /*Specify here which pointers may be far, if any. *Far pointe ...
- [C#6] 1-using static
0. 目录 C#6 新增特性目录 1. 老版本的代码 1 using System; 2 3 namespace csharp6 4 { 5 internal class Program 6 { 7 ...
- ASP.NET MVC Routing、Areas、URLs
webForm页面运行起来url一般是这样的:localhost:****/index.aspx,这个过程就是当你运行页面的时候,vs开发工具自带的微型服务器会打开你存在硬盘上的这个文件然后显示在浏览 ...
- 光盘 iso 镜像制作相关命令操作
1. 安装制作工具 mkisofs yum install mkisofs -y 2. Linux 操作系统镜像 iso 打包 mkisofs -o /root/.iso \ -V mini7 -b ...
- DevExpress ChartControl 样式设置
第三方控件,设置ChartControl的样式,仅供参考 Demo: <Grid> <Grid.Resources> <SolidColorBrush x:Key=&qu ...
- CentOS 7搭建SVN服务器
安装步骤如下: 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /var/svn/svnrepos ...
- Mac OSX+VirtualBox+Vagrant+CentOS初体验
1.安装VirtualBox VirtualBox下载地址 免费小巧非常适用,根据自己机器系统选择下载包 VirtualBox 安装包 2.安装并使用Vagrant 1)Vagrant下载地址 选择下 ...