Dedecms织梦图集上传图片默认是要手动填写注释的,有时我们做好了产品图和图片名称,为了方便想让上传图片后自动获取图片名做注释,那下面的教程就非常有用了。 @H_403_1@
1、打开 \dede\swfupload.PHP 找到(注意,dede为默认后台的目录,请自行登录自己所在后台目录修改) @H_403_1@
PHP">echo "FILEID:".$_SESSION['fileid'];在它的上面加入
PHP">$file_snames = explode('.',$Filename); $file_filename = $file_snames[count($file_snames)-2]; $_SESSION['file_filename'][$_SESSION['fileid']] = $file_filename;继续找到(注:因为swfupload是基于UTF-8编码、所以这里修改的地方需要有个转码判断,统一转为UTF-8,接收到的文件名称才不会乱码)
PHP">/************************ //删除指定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 "注释:"; exit(0); }
2、打开 \dede\album_add.PHP 找到 @H_403_1@
PHP">$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
改成 @H_403_1@
PHP">$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k];
3、打开 \dede\album_edit.PHP 找到 @H_403_1@
PHP">$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
改成 @H_403_1@
PHP">$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k];
如果系统是GBK编码格式 打开album_add.PHP找到 @H_403_1@
PHP">$imgurls = addslashes($imgurls);
改为 @H_403_1@
PHP">$imgurls = addslashes(mb_convert_encoding($imgurls,'GB2312','UTF-8'));
@H_403_1@
PHP">$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k];改为
@H_403_1@
@H_403_1@
PHP">$imginfo = mb_convert_encoding(!empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k],'UTF-8');
@H_403_1@
4、打开 \dede\js\handlers.js 找到 @H_403_1@
PHP">newImgDiv.innerHTML += '