ecshop后台批量上传图片方法

<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.  } 
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值