php导入文件夹图片保存到dedecms的方法

这篇文章主要为大家介绍了php导入文件夹图片保存到dedecms的方法,可实现大量图片的批量导入功能,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php导入文件夹图片保存到dedecms的方法。分享给大家供大家参考。具体分析如下:

数据库连接这里就不介绍了,这里就是简单的mysql连接,我们主要是看核心代码,原理就是glob函数遍历目录,然后再利用foreach遍历读取一个个的文件名字再由相关函数处理之后返回给我们编译好的sql语句再执行三表操作即可.

临时写的一个东西省时间而写的,因为有几千个产品带大图,所以我们写了这么一个程序了,希望对各位有帮助.

导入方法:http://localhost/a.php?typeid=你的id&path=你的目录

处理php文件,代码如下:

代码如下:$typeid = $_GET['typeid'];
if( ! intval( $typeid ) )
{
echo '请传值给typeid';
exit;
}

$path = $_GET['path'];

if( $path =="" )
{
echo '请传值给path ,如 a/b/c/';
exit;
} </p> <p>function getfile($path)
{
$dirs = array();
foreach(glob("$path*") as $d)
{
$tmp = explode('.',$d);
$k = end($tmp);
if(is_file($d) && ( $k=='jpg' || $k =='gif' || $k=='png'))
{
$dirs[] = $d;
}
}
return $dirs;
}
$array = getfile($path);
foreach( $array as $v => $vv )
{
//取名字
$t_name = explode( '/',$vv ); ;
$tV = end($t_name);
list($name,$ext) = explode('.',$tV);

$sql ="INSERT INTO `dedecms_archives` (`typeid`, `typeid2`, `sortrank`, `flag`, `ismake`, `channel`, `arcrank`, `click`, `money`, `title`, `shorttitle`, `color`, `writer`, `source`, `litpic`, `pubdate`, `senddate`, `mid`, `keywords`, `lastpost`, `scores`, `goodpost`, `badpost`, `voteid`, `notpost`, `description`, `filename`, `dutyadmin`, `tackid`, `mtype`, `weight`) VALUES
($typeid, '0', 1394943742, 'c,p', 1, 17, 0, 156, 0, '$name', 'S".$typeid.mt_rand(0,99999)."', '', 'admin', '未知', '/$vv', 1394943742, 1394943720, 1, '$name', 0, 0, 0, 0, 0, 0, '', '', 1, 0, 0, 11)";
mysql_query( $sql ) or die( mysql_error().$sql );
$aid= mysql_insert_id();

$sql2 ="INSERT INTO `dedecms_addonarticle17` (`aid`, `typeid`, `body`, `redirecturl`, `templet`, `userip`, `s_type`) VALUES
($aid, $typeid, '<img src=/".str_replace('231','600',$vv)." />', '', '', '192.168.1.108', 'S12000".$name."')";

mysql_query( $sql2 ) or die( mysql_error().$sql2 );

$sql3 ="INSERT INTO `dedecms_arctiny` (`id`, `typeid`, `typeid2`, `arcrank`, `channel`, `senddate`, `sortrank`, `mid`) VALUES
($aid, $typeid, '0', 0, 17, 1394943720, 1394943742, 1)";

mysql_query( $sql3 ) or die( mysql_error().$sql3 );
}
echo '导入成功';
print_r($array);
之后碰到一个小问题,就是导入数据在栏目可以看到,但在所有数据中看不到记录,生成时只有选择栏目生成才可以但用一键生成有问题,这个时我在发布时间是固定一个以前的时间,对此大家可以使用time函数来获取当前时间.

希望本文所述对大家的dedecms建站有所帮助。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

1、打开 /dede/spec_add.php 找到 $arcids = ; 改成 $arcids = array(); 2、打开 /dede/spec_edit.php 找到 $arcids = ; 改成 $arcids = array(); 完成
我们有时候需要在php文件中引用模板,举个栗子,在会员中心的模板文件中,用include是无法直接引用前台的页面文件,如果我们要饮用,怎么操作呢? 首先打开/include/common.func.php文件, 加入一个函数 function pasterTempletDiy($path) { require_once(DE
runphp=yes运行php,是dedecms织梦的一个比较重要的标签,有时候可能会需要做一些逻辑判断和运算,或者织梦提供的标签做不到,就需要用到运行自定义的php功能。 在runphp=yes里面,我们可以做逻辑判断,我们也可以进行php的运行。甚至对dedecms的数据库进行
有些时候我们需要创建一些单独的PHP文件,但是随便放入的PHP文件是不能够编译织梦 dedecms的标签的,所以我们需要引入织梦标签的编译引擎方案。 例如,我们在根目录创建 example.php,代码如下: span style=font-size:14px;span style=font-family:tahoma,g
使用dedecms中,发现{dede:datalist} 下 用 [field:array runphp=yes] 或者 {dede:field name=array runphp=yes} 并不起作用。 经过一番搜索和验证,发现{dede:if} 可以用,下面是一个实例: {dede:if $fields[andriodurl] != } //第一个语句 {else} //第二
DedeCms Runphp 标签中调用其他变量的方法 我们都知道,在DedeCMS中是可以使用PHP的,常见的方法就是if else了,例如模板制作中,我们需要对来源和作者进行判断,如果为空,则提示:暂无或不详,样例: {dede:field name=source runphp=yes}if(@me == ) @me