ecshop后台批量上传图片方法

ECSHOP后台广告设置后无法显示图片解决办法 今天是我第一次接触ecshop,听说很强大,“一键式”建站,不过强大的前提是你得摸得透,不然就会像我一样,钻牛角尖一个问题会卡很久。过多的话也就不啰嗦了,下面给大家分享下ecshop在后台设置广告后,页面中已经有了结构,为什么图片会加载不出来。 此方法试用ECSHOP 3.6版本中swiper插件生成的轮播banner。 相信很多人也遇到这个问题,而且网上也搜了相关处理办法,网上最多的方法就是 阅读详情
<script src="/scripts/utils.js"></script> 
2.  <script src="/scripts/utils.js"></script><script src="/scripts/transport.js"></script> 
3.  <script> 
4.  function addImg(obj) 
5.  { 
6.  var src = obj.parentNode.parentNode; 
7.  var idx = rowindex(src); 
8.  var tbl = document.getElementById('gallery-table'); 
9.  var row = tbl.insertRow(idx + 1); 
10.  var cell = row.insertCell(-1); 
11. cell.innerHTML = src.cells[0].innerHTML.replace(/(.*)(addImg)(.*)(\[)(\+)/i, "$1removeImg$3$4-"); 
12. } 
13. function addImg1(obj) 
14. { 
15. var src = obj.parentNode.parentNode; 
16. var idx = rowindex(src); 
17. var tbl = document.getElementById('gallery-table1'); 
18. var row = tbl.insertRow(idx + 1); 
19. var cell = row.insertCell(-1); 
20. cell.innerHTML = src.cells[0].innerHTML.replace(/(.*)(addImg1)(.*)(\[)(\+)/i, "$1removeImg1$3$4-"); 
21. } 
22. /** 
23. * 删除图片上传 
24. */
25. function removeImg(obj) 
26. { 
27. var row = rowindex(obj.parentNode.parentNode); 
28. var tbl = document.getElementById('gallery-table'); 
29. tbl.deleteRow(row); 
30. } 
31. function removeImg1(obj) 
32. { 
33. var row = rowindex(obj.parentNode.parentNode); 
34. var tbl = document.getElementById('gallery-table1'); 
35. tbl.deleteRow(row); 
36. 
37. </script>   

去php文件提交表单的地方加上:

1. <tr> 
2. <td height="25" align="right" bgcolor="ECF5FF">调用图片:</td> 
3.  <td align="center" bgcolor="ECF5FF"><!-- 商品相册 --> 
4.  <table width="90%" id="gallery-table" align="center"> 
5.  <!-- 上传图片 --> 
6.  <tr> 
7.  <td> 
8.  <a href="java script:;" >[+]</a> 
9.  图片名称 <input type="text" name="img_desc[]" /> 
10. 繁体名称 <input type="text" name="tra_img_desc[]" /> 
11. 英文名称 <input type="text" name="eng_img_desc[]" /> 
12. <input type="file" name="img_url[]" class="button" /> 
13. </td> 
14. </tr> 
15. </table></td> 
16. /tr> 
17. <tr> 
  

 

1. handle_gallery_image($newid,$_FILES['img_url'], $_POST['img_desc'],$_POST['eng_img_desc'],$_POST['tra_img_desc']); 
2.     
3. 
4.    * 检查目标文件夹是否存在,如果不存在则自动创建该目录 
5.     * 
6.    * @access public
7.    * @param string folder 目录路径。不能使用相对于网站根目录的URL 
8.    * 
9.    * @return bool 
10.    */ 
11.    function make_dir($folder) 
12.   { 
13.   $reva l = false; 
14.   if (!file_exists($folder)) 
15.   { 
16.    /* 如果目录不存在则尝试创建该目录 */
17.    @umask(0); 
18.   /* 将目录路径拆分成数组 */
19.   preg_match_all('/([^\/]*)\/?/i', $folder, $atmp); 
20.   /* 如果第一个字符为/则当作物理路径处理 */
21.    $base = ($atmp[0][0] == '/') ? '/' : ''; 
22.    /* 遍历包含路径信息的数组 */
23.    foreach ($atmp[1] AS $val) 
24.   { 
25.    if ('' != $val) 
26.    { 
27.   $base .= $val; 
28.   if ('..' == $val || '.' == $val) 
29.   { 
30.   /* 如果目录为.或者..则直接补/继续下一个循环 */
31.    $base .= '/'; 
32.    continue; 
33.    } 
34.   } 
35.   else
36.   { 
37.   continue; 
38.   } 
39.   $base .= '/'; 
40.   if (!file_exists($base)) 
41.   { 
42.   /* 尝试创建目录,如果创建失败则继续循环 */
43.   if (@mkdir(rtrim($base, '/'), 0777)) 
44.    { 
45.    @chmod($base, 0777); 
46.    $reva l = true; 
47.    } 
48.    } 
49.    } 
50.   } 
51.    else
52.    { 
53.    /* 路径已经存在。返回该路径是不是一个目录 */
54.    $reva l = is_dir($folder); 
55.    } 
56.    
57.    clearstatcache(); 
58.    
59.   return $reva l; 
60.    } 
61.    
62.  /** 
63.  * 获得当前格林威治时间的时间戳 
64.  * 
65.  * @return integer 
66.  */
67.  function gmtime() 
68.  { 
69.  return (time() - date('Z')); 
70.  } 
71. 
72.  /** 
73.  * 获得服务器的时区 
74.  * 
75.  * @return integer 
76.  */
77.  function server_timezone() 
78.  { 
79.  if (function_exists('date_default_timezone_get')) 
80. { 
81. return date_default_timezone_get(); 
82. } 
83.  else
84.  { 
85. return date('Z') / 3600; 
86. } 
87. } 
88.  /** 
89.  * 生成一个用户自定义时区日期的GMT时间戳 
90.  * 
91. * @access public 
92.  * @param int $hour 
93.  * @param int $minute 
94.  * @param int $second 
95.  * @param int $month 
96.  * @param int $day 
97.  * @param int $year 
98.  * 
99.  * @return void 
100.  */
101.  function local_mktime($hour = NULL , $minute= NULL, $second = NULL, $month = NULL, $day = NULL, $year = NULL) 
102.  { 
103.  $timezone = isset($_SESSION['timezone']) ? $_SESSION['timezone'] : $GLOBALS['_CFG']['timezone']; 
104.   /** 
105.  * $time = mktime($hour, $minute, $second, $month, $day, $year) - date('Z') + (date('Z') - $timezone * 3600) 
106. * 先用mktime生成时间戳,再减去date('Z')转换为GMT时间,然后修正为用户自定义时间。以下是化简后结果 
107.  **/
108.  $time = mktime($hour, $minute, $second, $month, $day, $year) - $timezone * 3600; 
109.  return $time; 
110.  } 
111.  /** 
112.  * 将GMT时间戳格式化为用户自定义时区日期 
113.  * 
114.  * @param string $format 
115.  * @param integer $time 该参数必须是一个GMT的时间戳 
116.  * 
117.  * @return string 
118.  */
119. function local_date($format, $time = NULL) 
120. { 
121.  $timezone = isset($_SESSION['timezone']) ? $_SESSION['timezone'] : $GLOBALS['_CFG']['timezone']; 
122.   
123.  if ($time === NULL) 
124.  { 
125.  $time = gmtime(); 
126.  } 
127.  elseif ($time <= 0) 
128.  { 
129.  return ''; 
130.  } 
131.  $time += ($timezone * 3600); 
132.  return date($format, $time); 
133.  } 
134.  /** 
135.  * 转换字符串形式的时间表达式为GMT时间戳 
136.  * 
137.  * @param string $str 
138.  * 
139.  * @return integer 
140.  */
141.  function gmstr2time($str) 
142.  { 
143.  $time = strtotime($str); 
144.  if ($time > 0) 
145.  { 
146.  $time -= date('Z'); 
147.  } 
148.  return $time; 
149.  } 
150.  /** 
151.  * 将一个用户自定义时区的日期转为GMT时间戳 
152.  * 
153.  * @access public 
154.  * @param string $str 
155.  * 
156.  * @return integer 
157.  */
158.  function local_strtotime($str) 
159.  { 
160.  $timezone = isset($_SESSION['timezone']) ? $_SESSION['timezone'] : $GLOBALS['_CFG']['timezone']; 
161.  /** 
162.  * $time = mktime($hour, $minute, $second, $month, $day, $year) - date('Z') + (date('Z') - $timezone * 3600) 
163.  * 先用mktime生成时间戳,再减去date('Z')转换为GMT时间,然后修正为用户自定义时间。以下是化简后结果 
164.  **/
165.  $time = strtotime($str) - $timezone * 3600; 
166.  return $time; 
167.   } 
168. 
169.  /** 
170.  * 获得用户所在时区指定的时间戳 
171.  * 
172.  * @param $timestamp integer 该时间戳必须是一个服务器本地的时间戳 
173.  * 
174.  * @return array 
175.  */
176.  function local_gettime($timestamp = NULL) 
177.  { 
178.  $tmp = local_getdate($timestamp); 
179.  return $tmp[0]; 
180.  } 
181.  /** 
182.  * 获得用户所在时区指定的日期和时间信息 
183.  * 
184.  * @param $timestamp integer 该时间戳必须是一个服务器本地的时间戳 
185. * 
186.  * @return array 
187.  */
188.  function local_getdate($timestamp = NULL) 
189.  { 
190.  $timezone = isset($_SESSION['timezone']) ? $_SESSION['timezone'] : $GLOBALS['_CFG']['timezone']; 
191. 
192.  /* 如果时间戳为空,则获得服务器的当前时间 */
193.  if ($timestamp === NULL) 
194.  { 
195.  $timestamp = time(); 
196.  } 
197.  $gmt = $timestamp - date('Z'); // 得到该时间的格林威治时间 
198.  $local_time = $gmt + ($timezone * 3600); // 转换为用户所在时区的时间戳 
199.  return getdate($local_time); 
200.  } 
201.  function move_upload_file($file_name, $target_name = '') 
202.   { 
203.  if (function_exists("move_uploaded_file")) 
204.  { 
205.  if (move_uploaded_file($file_name, $target_name)) 
206.  { 
207.  return true; 
208.  } 
209.  else if (copy($file_name, $target_name)) 
210.  { 
211.  return true; 
212.  } 
213.  } 
214.  elseif (copy($file_name, $target_name)) 
215.  { 
216.  return true; 
217.  } 
218.  return false; 
219.  } 
220.  function handle_gallery_image($news_id, $image_files,$image_desc,$eng_img_desc,$tra_img_desc) 
221.  { 
222.   global $db; 
223.  global $image; 
224.   global $dbhead; 
225.  foreach ($image_desc AS $key => $img_desc) 
226.  { 
227.   // 生成缩略图 
228.  $thumb_url = $image->make_thumb($image_files['tmp_name'][$key],100,80); 
229.  $thumb_url = is_string($thumb_url) ? $thumb_url : ''; 
230.  $upload = array( 
231.  'name' => $image_files['name'][$key], 
232.  'type' => $image_files['type'][$key], 
233.  'tmp_name' => $image_files['tmp_name'][$key], 
234.  'size' => $image_files['size'][$key], 
235.   ); 
236.  //print_r($upload); 
237.   $img_original = $image->upload_image($upload); 
238.   $img_url = $img_original; 
239.   $eng_img_desc = $eng_img_desc[$key]; 
240.  $tra_img_desc = $tra_img_desc[$key]; 
241.   if($image_files['name'][$key]!='') 
242.   { 
243.   $sql = $db->Execute("insert into $dbhead"."news_image (news_id,image,thumb_url,img_desc,eng_img_desc,tra_img_desc) values ('$news_id','$img_url','$thumb_url','$img_desc','$eng_img_desc','$tra_img_desc')"); 
244.  } 
245.  } 
246.  } 
 

ecshop彻底编辑器为kindeditor实现在多张图片上传(个人修正) ecshop彻底编辑器为kindeditor实现在多张图片上传 使用过ECSHOP后台产品、文章编辑的朋友都知道ECSHOP编辑器是'FCKeditor,'FCK官早已经不再更新FCKeditor了,但是ECSHOP却一直还在使用,FCKeditor浏览器的缺点:漏洞多,容易被不怀好意的人利用;不能一次上传多张图片。。。。。 最近发现有网友发过关于用kindeditor替换FCKe 阅读详情

相关推荐

ECShop 批量上传 PHP

在 ECShop 网店开发中,批量上传功能是一个常见且实用的功能,它允许商家一次性上传多个商品或者图片,从而节省时间和精力。上述代码中,我们创建了一个表单,使用 POST 方法提交到名为 “upload.php” 的处理文件。首先,我们需要创建一个上传表单,让用户选择并上传他们想要批量上传的文件。上述代码首先指定了上传文件的保存目录,这里我们将文件保存在名为 “uploads” 的目录中。在文件上传完成后,我们可以向用户显示上传结果,告知哪些文件上传成功,哪些文件上传失败。数组来处理每个上传的文件。

DhGrad_Bias的博客 181

【ECSHOP插件】ECSHOP商品相册批量上传插件

ecshop商品相册批量上传插件

Sesame 839

ECSHOP商品相册批量上传插件完全指南:免费下载与应用

ECSHOP插件系统为开发者提供了极大的便利,允许他们根据市场需求快速扩展功能,无需深入修改核心代码。这种模块化的设计不仅降低了开发成本,也使得店铺运营者能够灵活地选择和安装适用于自己业务的插件。除了提供简洁直观的操作界面,本插件还为用户提供了丰富的自定义设置选项。这使得每个卖家都能够根据自己的实际需求调整插件的功能表现,达到最佳的工作效率。用户自定义设置涵盖了批量上传的具体参数,如上传速度限制、图片处理规则等;还包括界面布局的调整,如颜色主题、字体大小等;

weixin_42452924的博客 906

ECSHOP批量上传二次开发2

继上次批量上传,这次做了一个不需要修改数据库的版本 1.languages/zh/admin/goods_batch.php 添加整理属性/根据需要批量上传的属性 //自定义批量上传字段start $_LANG['upload_goods']['goods_guige']='规格'; $_LANG['upload_goods']['goods_xilie']='系列'; $_...

weixin_30292745的博客 105

Ecshop添加商品相册批量上传插件

Ecshop添加商品时商品相册需要一张一张的上传,很麻烦,通过本插件可以实现批量上传。【安装前切记备份】

ecshop图片批量上传插件终极版

1.将拿到的压缩包,解压到\includes\fckeditor\editor\,这里要注意,简单来讲就是要将解压出来的plugins文件夹,放到editor这个文件目录中!!!网上的一些教程说明,有误导用户的嫌疑,放不对的话,实现不了的哟。 2.以上好了,接着设置加载插件语句,方法是打开 fckeditor\fckconfig.js文件,搜索找到 "FCKConfig.AutoGrowMax = 400 ;" 然后在它的上一行添加一句: FCKConfig.Plugins.Add('swfupload','zh-cn'); .........

ecshop商品详细描述页,批量上传图片功能实现

1、首先下载这个插件,网上好多

sa1176732685的专栏 3731

ecshop 相册批量上传方法

谁在用ecshop,这个对你一定有用!!! 支持批量上传的哦~

ecshop上传产品图片不显示的解决办法

按照如下3个步骤去解决 1,正在后台权限检测里,看看images权限是不是有,如果有的话往下看 2,后台起始页看看dg库是不是安装过了,有没有dg库版本,有的话往下看(我的就是没有安装dg库,起始页的dg选项显示的是N/A) 这里一般修改php5文件夹下的php.ini文件,找到;extension=php_gd2.dll这一行,去掉前面的;,然后重启apache就解决了 3,看看图片格式是

yuanhang的生活专栏 9341

【ECSHOP插件】ECSHOP商品相册批量上传插件免费下载

【ECSHOP插件】ECSHOP商品相册批量上传插件免费下载,经过测试可以使用的。

Ecshop商品详情批量上传图片插件终极版

如果客户要求在后台的商品详情页中,加入图文描述,默认的编辑器就是个鸡肋了,只能一张张土传,然后再加文字,文字可以复制粘贴,但是图片呢……当然图片也有更好的方式,这里我们就先不透漏方法了,相信有实战经验的朋友都知道的,今天我们讲的是在ecshop后台自带的编辑器中加入批量上传图片功能,图片传好了,文字加起来就方便多了。以下是实现步骤,请仔细看,不然有插件你也实现不了的哦。

ecshop 后台批量上传商品 完整上传

ecshop 后台批量上传商品,之所以无法上传,是因为后台上传php文件方法中没有导入商品原图路径 将ecshop根目录中的admin/goods_batch.php文件全部修改为 <?php /** * ECSHOP 商品批量上传、修改 * ==================================================================...

weixin_30765505的博客 112

服务器卡死排查实战:从现象分类到根因定位的完整手册

服务器卡死是运维中最令人头疼的故障之一,从游戏圈吐槽的“土豆服务器”到生产环境中的Linux系统无响应、rsync复制挂起,本质都是系统或进程失去正常响应能力。其原理通常涉及CPU、内存、磁盘IO或网络资源耗尽,以及内核和驱动异常。掌握系统化的排查方法,能够帮助工程师快速定位根因、缩短故障时间,避免盲目重启。本文从资源、层级、场景等多维度分类,结合top、dmesg、strace等工具,梳理一套从现象确认、指标收集、日志分析到进程定位的实战排查流程,并覆盖常见高频场景与预防治理建议。无论你是运维新手还是老手

weixin_33851177的博客 374

[OK]为fckeditor添加多文件批量上传组件swfupload2.5

因为ecshop商品描述本身好像没有批量上传的功能,在ecshop论坛求人未果 自己查找资料,把swfupload2.5整合到ecshop的fuckeditor 1.如果你是ecshop的后台商品描述要添加批量上传的话   1)解压缩 里面的文件夹plugins解压缩到\includes\fckeditor\editor 2.其他系统的话,则     1)解压缩 里面的文

ximo's blog 1271

π_RL:解锁流匹配VLA强化学习后训练的关键技术与实战解析

本文深入解析了π_RL框架如何通过流匹配(flow matching)与强化学习(RL)的结合,解决视觉语言动作模型(VLA)在后训练中的关键挑战。详细介绍了Flow Noise和Flow SDE两大核心技术,以及它们在机器人控制任务中的实战效果,显著提升了模型的性能、数据效率和泛化能力。

weixin_29061531的博客 220

CIC-IDS2017数据集训练和测试

1、数据集预处理 1.1整合数据并剔除脏数据 如上图所示,整个数据集是分开的,想要训练,必须要整合在一起,同时在数据集中存在Nan和Infiniti脏数据(只有第15列和第16列存在)需要剔除: 具体代码如下: ```python importpandasaspd #按行合并多个Dataframe数据 defmergeData(): monday=writeData("data\MachineLearningCVE\Monday-W...

蓝亚之舟的博客 2万+

ECShop商品批量上传详细说明及上传图片注意事项

进入后台管理中心 商品管理-〉商品批量上传,进入商品批量上传页面。见图 1 所示: 您可以在上图中黄色区域标注中下载批量上传文件的样本。下载完样本后就可以在批量文件里添加商品信息了。 关于添加批量上传商品信息,打开下载的样本文件添加商品信息,请按正确格式添加商品信息。格式见图 2 所示: 添加商品信息时有几个方面需要注意一下(ECSHOP 2.61版): 关于商品图片设

ximo's blog 4203

告别Qweb!用ReportBro在Odoo 13-19版本中5步搞定动态报表

本文介绍了如何在Odoo 13-19版本中使用ReportBro替代Qweb快速实现动态报表设计。通过5步集成指南,包括环境准备、前端集成、后端服务搭建等,展示了ReportBro在可视化设计、即时预览和多格式输出(PDF/XLSX)方面的优势,显著提升开发效率和报表灵活性。

mac99的博客 799

本地ecshop网站怎么上传到服务器,ECSHOP商品批量上传,ECSHOP商品数据包导入

各位ECSHOP网店系统用户大家好,欢迎来到ECSHOP商品批量上传,ECSHOP商品数据导入设置。第一节1.1 进入后台管理中心 商品管理-〉商品批量上传,进入商品批量上传页面。如图所示:1.2 您可以在上图中红色方块区域标注中下载批量上传文件的样本。下载完样本后就可以在批量文件里添加商品信息了。关于添加批量上传商品信息,打开下载的样本文件添加商品信息,请按正确格式添加商品信息。格式如图所示:...

weixin_35761245的博客 582

AMD KFD的SDMA Packet 类型和定义解析

本文详细分析了AMD GPU架构中的SDMA(System Direct Memory Access)数据传输机制,重点介绍了其核心数据结构——SDMA Packet。SDMA通过8种主要Packet类型(包括内存拷贝、数据写入、屏障同步、中断触发等)实现高效主机-设备通信。每种Packet采用位域结构和联合体封装设计,在保证功能完整性的同时实现空间优化。这些Packet支持丰富的访问属性和扩展字段,适用于高性能数据搬运、内存初始化、任务同步、性能分析等场景,为GPU计算提供了灵活高效的数据传输解决方案。

图形/计算GPU的驱动与虚拟化技术分享园地 1243

【eclipse】win 10:eclipse 4.9 下载、安装和汉化(支持中英切换)

目录 一、eclipse下载 二、eclipse安装 三、eclipse在线汉化 四、eclipse离线汉化(推荐) 一、eclipse下载 ①官网下载地址(收费):https://www.eclipse.org/downloads/点击前往下载 ②【推荐】我的百度网盘下载地址(包括离线汉化包):点击下载 提取码:0nfw ③eclipse4.9其他地址下载:http...

顾三殇 —— 博客空间(软件测试) 1万+

ECShop重命名上传图片名称及修改图片存储路径

ECShop从后台上传产品的图片分别存储在images文件夹下的goods_img、thumb_img、source_img三个文件夹下的,并且图片的名字都是随机产生的;本节主要是讲解如何对ECShop上传图片名称重命名及以其商品货号为名称每款产品创建一个文件夹,将其产品图片存储在其对应的文件夹下。  打开admin/includes/lib_goods.php 原文件: 修改后:

lcw2007101的专栏 4471

再不入坑就晚了,深度神经网络概念大整理,最简单的神经网络是什么样子?

再不入坑就晚了,深度神经网络概念大整理,最简单的神经网络是什么样子?

我是香菜 3万+

ecshop 后台增加上传图片项

最近在研究ecshop,想后台添加/修改商品的时候,增加一个自己上传图片的功能,看了一下,修改如下 ( 还想在images/年月/下建立一个新的文件夹goods_new_img 准备:首先要先建立好goods_new_img,并且要有相关的权限 ) goods_info.html             {$lang.lab_picture}new      

shandianfocai的博客 3117

Echarts - 去掉图表上的横线和竖线

效果图 默认效果: 变为如下图所示效果: 实现方法 官方配置文档:https://echarts.apache.org/zh/option.html#radar.splitLine 在 xAxis yAxis 配置中分别加入以下代码: splitLine: { show:false }

🏆 前端领域优质创作者 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: ECShop商品批量上传详细说明及上传图片注意事项
下一篇: 在ecshop中添加页面,并且实现后台管理
ximo
博客等级 码龄24年 18粉丝 9原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值