Skip to main content
 Web开发网 » 站长学院 » 织梦教程

dedecms织梦图集上传图片自动获取图片名做注释

2020年09月12日6670百度已收录

dedecms织梦图集上传图片默认是要手动填写注释的,有时我们做好了产品图和图片名称,为了方便想让上传图片后自动获取图片名做注释,那下面的教程就非常有用了。 

 

1、打开 \dede\swfupload.php 找到(注意,dede为默认后台的目录,请自行登录自己所在后台目录修改)

 

echo "FILEID:".$_SESSION['fileid'];

在它的上面加入

$file_snames = explode('.', $Filename);

$file_filename = $file_snames[count($file_snames)-2];

$_SESSION['file_filename'][$_SESSION['fileid']] = $file_filename;

继续找到(注:因为swfupload是基于UTF-8编码、所以这里修改的地方需要有个转码判断,统一转为UTF-8,接收到的文件名称才不会乱码)

/************************

//删除指定ID的图片

*************************/

在下面加入如下代码:

/************************

//生成注释

*************************/

else if($dopost=='thumbalt')

{

    if( empty($id) )

    {

        header('HTTP/1.1 500 Internal Server Error');

        echo 'No ID';

        exit(0);

    }

    if (!is_array($_SESSION['file_filename']) || !isset($_SESSION['file_filename'][$id]))

    {

        header('HTTP/1.1 404 Not found');

        exit(0);

    }

         if($cfg_soft_lang=='utf-8') $file_filename = $_SESSION['file_filename'][$id];

         else $file_filename = iconv( 'UTF-8', 'gb2312//IGNORE' , $_SESSION['file_filename'][$id]);

         echo "注释:<input type=\&;text\&; name=\&;picinfo{$id}\&; value=\&;{$file_filename}\&; style=\&;width:154px;\&; id=\&;picinfo{$id}\&; />";

    exit(0);

}

2、打开 \dede\album_add.php 找到

 

$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';

改成

 

$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k]; 

3、打开 \dede\album_edit.php 找到

 

$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';

改成

 

$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k];

如果系统是GBK编码格式 打开album_add.php找到

 

$imgurls = addslashes($imgurls);

改为

 

$imgurls = addslashes(mb_convert_encoding($imgurls,'GB2312','UTF-8'));

打开album_edit.php找到上面修改过的

 

$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k];

改为

$imginfo =  mb_convert_encoding(!empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k],'GB2312','UTF-8');

4、打开 \dede\js\handlers.js 找到

 

newImgDiv.innerHTML += '<div style="margin-top:10px">注释:<input type="text" name="picinfo'+albImg+'" value="" style="width:'+iptwidth+'px;" /></div>';

改成

 

newImgDiv.innerHTML += '<div style="margin-top:10px" id="picinfo'+albImg+'"></div>';

var picinfo = document.getElementById('picinfo'+albImg);

var myajax = new DedeAjax(picinfo,false,false,"","","");

myajax.SendGet2('swfupload.php?dopost=thumbalt&id='+pid);

DedeXHTTP = null;

完成。


 

评论列表暂无评论
发表评论
微信