ecshop编辑商品,远程图片自动本地化插件,自动上传外链图片

本文主要是介绍ecshop编辑商品,远程图片自动本地化插件,自动上传外链图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、admin\templates\goods_info.htm

 {$FCKeditor}下载远程图片和资源 

 

2、 admin\goods.php

    if (empty($_POST['goods_sn'])){  

    }else{

    }

 在这个下面添加代码:

$remote = !empty($_POST['remote']) ? $_POST['remote'] : 0;

 //保存远程资源

if($remote == 'true')

{

$goods_desc = GetContFile($_POST['goods_desc']);

}else{

  $goods_desc = $_POST['goods_desc'];

}

 

3、admin\includes\lib_main.php文件下添加

 

//上传文件保存路径

$cfg_image_dir = ROOT_PATH .'/images';

$cfg_soft_dir  = ROOT_PATH .'/soft';

$cfg_media_dir = ROOT_PATH .'/media';

//获得文章内容里的外部资源

function GetContFile($body)

{

global $cfg_image_dir;

//引入下载类

include_once(ROOT_PATH . 'includes/httpfile/down.class.php');

//初始化变量

$body = stripslashes($body);

$host = 'http://'.$_SERVER['HTTP_HOST'];

//过滤图片文件

$pic_arr = array();

preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png|bmp))/isU", $body, $pic_arr);

$pic_arr = array_unique($pic_arr[1]);

//初始化下载类

$htd = new HttpDown();

    foreach($pic_arr as $k=>$v)

    {

        if(preg_match('#'.$host.'#i', $v)) continue;

        if(!preg_match('#^http:\/\/#i', $v)) continue;

        $htd->OpenUrl($v);

        $type = $htd->GetHead('content-type');

        if($type == 'image/gif')

            $tempfile_ext = 'gif';

        else if($type == 'image/png')

            $tempfile_ext = 'png';

        else if($type == 'image/wbmp')

            $tempfile_ext = 'bmp';

        else

            $tempfile_ext = 'jpg';

$upload_url = 'images';

$upload_dir = $cfg_image_dir;

$ymd = date('Ymd');

$upload_url .= '/'.$ymd;

$upload_dir .= '/'.$ymd;

if(!file_exists($upload_dir))

{

mkdir($upload_dir);

$fp = fopen($upload_dir.'/index.htm', 'w');

fclose($fp);

}

//上传文件名称

$filename = time()+rand(1,9999).'.'.$tempfile_ext;

//上传文件路径

$save_url = '../'.$upload_url.'/'.$filename;

//生成本地路径

$self = explode('/', $_SERVER['PHP_SELF']);

$self_size = count($self) - 2;

$self_str  = '';

for($i=0; $i<$self_size; $i++)

{

$self_str .= $self[$i].'/';

}

   $save_url = $self_str.'../'.$upload_url.'/'.$filename;

   $save_dir = $upload_dir.'/'.$filename;

        $rs = $htd->SaveToBin($save_dir);

        if($rs)

        {

            $body = str_replace(trim($v), $save_url, $body);

        }

    }

    $htd->Close();

//回传转义字符串

    return addslashes($body);

}

 

4、这里修改,admin\goods.php

 

    if ($is_insert)

    {

        if ($code == '')

        {

            $sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " .

                    "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " .

                    "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, keywords, goods_brief, " .

                    "seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, " .

                    "is_on_sale, is_alone_sale, is_shipping, goods_desc, add_time, last_update, goods_type, rank_integral, suppliers_id)" .

                "VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .

                    "'$brand_id', '$shop_price', '$market_price', '$is_promote','$promote_price', ".

                    "'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb', '$original_img', ".

                    "'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight', '$goods_number',".

                    " '$warn_number', '$_POST[integral]', '$give_integral', '$is_best', '$is_new', '$is_hot', '$is_on_sale', '$is_alone_sale', $is_shipping, ".

                    " '$goods_desc', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$rank_integral', '$suppliers_id')";

        }

        else

        {

            $sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " .

                    "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " .

                    "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, keywords, goods_brief, " .

                    "seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, is_real, " .

                    "is_on_sale, is_alone_sale, is_shipping, goods_desc, add_time, last_update, goods_type, extension_code, rank_integral)" .

                "VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .

                    "'$brand_id', '$shop_price', '$market_price', '$is_promote','$promote_price', ".

                    "'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb', '$original_img', ".

                    "'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight', '$goods_number',".

                    " '$warn_number', '$_POST[integral]', '$give_integral', '$is_best', '$is_new', '$is_hot', 0, '$is_on_sale', '$is_alone_sale', $is_shipping, ".

                    " '$goods_desc', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$code', '$rank_integral')";

        }

    }

    else

    {

        

        $sql = "SELECT goods_thumb, goods_img, original_img " .

                    " FROM " . $ecs->table('goods') .

                    " WHERE goods_id = '$_REQUEST[goods_id]'";

        $row = $db->getRow($sql);

        if ($proc_thumb && $goods_img && $row['goods_img'] && !goods_parse_url($row['goods_img']))

        {

            @unlink(ROOT_PATH . $row['goods_img']);

            @unlink(ROOT_PATH . $row['original_img']);

        }

        if ($proc_thumb && $goods_thumb && $row['goods_thumb'] && !goods_parse_url($row['goods_thumb']))

        {

            @unlink(ROOT_PATH . $row['goods_thumb']);

        }

        $sql = "UPDATE " . $ecs->table('goods') . " SET " .

                "goods_name = '$_POST[goods_name]', " .

                "goods_name_style = '$goods_name_style', " .

                "goods_sn = '$goods_sn', " .

                "cat_id = '$catgory_id', " .

                "brand_id = '$brand_id', " .

                "shop_price = '$shop_price', " .

                "market_price = '$market_price', " .

                "is_promote = '$is_promote', " .

                "promote_price = '$promote_price', " .

                "promote_start_date = '$promote_start_date', " .

                "suppliers_id = '$suppliers_id', " .

                "promote_end_date = '$promote_end_date', ";

        

        if ($goods_img)

        {

            $sql .= "goods_img = '$goods_img', original_img = '$original_img', ";

        }

        if ($goods_thumb)

        {

            $sql .= "goods_thumb = '$goods_thumb', ";

        }

        if ($code != '')

        {

            $sql .= "is_real=0, extension_code='$code', ";

        }

        $sql .= "keywords = '$_POST[keywords]', " .

                "goods_brief = '$_POST[goods_brief]', " .

                "seller_note = '$_POST[seller_note]', " .

                "goods_weight = '$goods_weight'," .

                "goods_number = '$goods_number', " .

                "warn_number = '$warn_number', " .

                "integral = '$_POST[integral]', " .

                "give_integral = '$give_integral', " .

                "rank_integral = '$rank_integral', " .

                "is_best = '$is_best', " .

                "is_new = '$is_new', " .

                "is_hot = '$is_hot', " .

                "is_on_sale = '$is_on_sale', " .

                "is_alone_sale = '$is_alone_sale', " .

                "is_shipping = '$is_shipping', " .

                "goods_desc = '$goods_desc', " .

                "last_update = '". gmtime() ."', ".

                "goods_type = '$goods_type' " .

                "WHERE goods_id = '$_REQUEST[goods_id]' LIMIT 1";

    }

商品详情:
{$FCKeditor}下载远程图片和资源
商品详情:
{$FCKeditor}下载远程图片和资源

 

down.class.php代码:https://pan.baidu.com/s/1rBMZ2COP2i6A37FXo2-DCQ

 

这篇关于ecshop编辑商品,远程图片自动本地化插件,自动上传外链图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044876

相关文章

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis