|
织梦CMS栏目管理-高级选项里有绑定域名功能,可以让我们用一级或二级域名绑定栏目来访问,但是有个问题就是栏目绑定二级域名后图片不显示,路径错误,解决这个问题需要修改程序代码来解决。
解决织梦CMS栏目绑定二级域名后图片不显示,路径错误办法
修改方法如下:
将 dede/INC 的inc_archives_functions.php 文件改为如下代码就OK了
代码:
- <?php
- require_once(DEDEADMIN."/../include/pub_httpdown.php");
- require_once(DEDEADMIN."/../include/inc_photograph.php");
- require_once(DEDEADMIN."/../include/pub_oxwindow.php");
- require_once(DEDEADMIN."/../include/inc_tag_functions.php");
- require_once(DEDEADMIN."/../include/inc_custom_fields.php");
- //---------------------------
- //HTML獠吭赐?
- //---------------------
- function GetCurContentAlbum($body,$rfurl,&$firstdd)
- {
- global $cfg_multi_site,$cfg_basehost,$ddmaxwidth,$cfg_basedir;
- include_once(DEDEADMIN."/../include/pub_collection_functions.php");
- if(empty($ddmaxwidth)) $ddmaxwidth = 150;
- $rsimg = '';
- $cfg_uploaddir = $GLOBALS['cfg_image_dir'];
- $cfg_basedir = $GLOBALS['cfg_basedir'];
- $basehost = "dede_arctype where ID='$typeid' ");
- if($row['ispart']!=0 || $row['channeltype']!=$channelid) { return false; }
- else { return true; }
- }
- //---------------
- //检测档案权限
- //---------------
- function CheckArcAdmin($aid,$adminid)
- {
- $dsql = new DedeSql(false);
- $row = $dsql->GetOne("Select adminid From dede_archives where ID='$aid' ");
- if($row['adminid']!=$adminid) return false;
- else return true;
- }
- //---------------
- //文档自动分页
- //---------------
- function SpLongBody(&$mybody,$spsize,$sptag)
- {
- if(strlen($mybody)<$spsize) return $mybody;
- $bds = explode('<',$mybody);
- $npageBody = "";
- $istable = 0;
- $mybody = "";
- foreach($bds as $i=>$k)
- {
- if($i==0){ $npageBody .= $bds[$i]; continue;}
- $bds[$i] = "<".$bds[$i];
- if(strlen($bds[$i])>6){
- $tname = substr($bds[$i],1,5);
- if(strtolower($tname)=='table') $istable++;
- else if(strtolower($tname)=='/tabl') $istable--;
- if($istable>0){ $npageBody .= $bds[$i]; continue; }
- else $npageBody .= $bds[$i];
- }else{
- $npageBody .= $bds[$i];
- }
- if(strlen($npageBody)>$spsize){
- $mybody .= $npageBody.$sptag;
- $npageBody = "";
- }
- }
- if($npageBody!="") $mybody .= $npageBody;
- return $mybody;
- }
- //-----------------------
- //创建指定ID的文档
- //-----------------------
- function MakeArt($aid,$mkindex=true,$upcache=true)
- {
- global $cfg_makeindex,$cfg_basedir,$cfg_templets_dir,$cfg_df_style,$cfg_up_prenext,$typeid,$envs,$typeid;
- include_once(DEDEADMIN."/../include/inc_archives_view.php");
- if(!$upcache) $envs['nocache'] = true;
- $arc = new Archives($aid);
- $reurl = $arc->MakeHtml();
- if($mkindex)
- {
- //更新上下篇文章
- if($cfg_up_prenext=='Y' && !empty($typeid))
- {
- $preRow = $arc->dsql->GetOne("Select ID From `{$arc->MainTable}` where ID<$aid And ID>".($aid-1000)." And arcrank>-1 And typeid='$typeid' order by ID desc");
- $nextRow = $arc->dsql->GetOne("Select ID From `{$arc->MainTable}` where ID>$aid And ID<".($aid+1000)." And arcrank>-1 And typeid='$typeid' order by ID asc");
-
- if(is_array($preRow)){
- $arc = new Archives($preRow['ID']);
- $arc->MakeHtml();
- }
- if(is_array($nextRow)){
- $arc = new Archives($nextRow['ID']);
- $arc->MakeHtml();
- }
- }
- //更新主页
- if($cfg_makeindex=='Y')
- {
- $pv = new PartView();
- $row = $pv->dsql->GetOne("Select * From dede_homepageset");
- $templet = str_replace("{style}",$cfg_df_style,$row['templet']);
- $homeFile = dirname(__FILE__)."/../".$row['position'];
- $homeFile = str_replace("\","/",$homeFile);
- $homeFile = str_replace("//","/",$homeFile);
- $fp = fopen($homeFile,"w") or die("页募{$homeFile} 没写权蓿");
- fclose($fp);
- $pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$templet);
- $pv->SaveToHtml($homeFile);
- }
- }
- return $reurl;
- }
- //---------------------------
- //上传缩略图
- //--------------------------
- /*
- 参数一
- litpic 默认为上传表单的名称
- 值为 none\ddfirst 强制不查检上传
- 值为 ddfirst 则强制把已存在的本地图生成缩略图
- 参数二
- picname 手工填写的图片路径
- 参数三
- isremote 是否下载远程图片 0 为不下载, 1为下载到本地
- */
- function GetDDImage($litpic,$picname,$isremote,$ntitle='')
- {
- global $cuserLogin,$cfg_ddimg_width,$cfg_ddimg_height;
- global $cfg_basedir,$ddcfg_image_dir,$title,$dsql;
- $ntime = time();
- $saveinfo = false;
- if($ntitle!='') $title = $ntitle;
- $picname = trim($picname);
- if(($litpic!='none'||$litpic!='ddfirst') &&
- !empty($_FILES[$litpic]['tmp_name']) && is_uploaded_file($_FILES[$litpic]['tmp_name']))
- //如果用户自行上传缩略图
- {
- $istype = 0;
- $sparr = Array("image/pjpeg","image/jpeg","image/gif","image/png");
- $_FILES[$litpic]['type'] = strtolower(trim($_FILES[$litpic]['type']));
- if(!in_array($_FILES[$litpic]['type'],$sparr)){
- ShowMsg("洗图片式使JPEGGIFPNG式一郑","-1");
- exit();
- }
-
- if(!empty($picname) && !eregi("^http://",$picname) && file_exists($cfg_basedir.$picname) ){
- if(!is_object($dsql)) $dsql = new DedeSql();
- $dsql->ExecuteNoneQuery("Delete From dede_uploads where url like '$picname' ");
- $fullUrl = eregi_replace("\.([a-z]*)$","",$picname);
- }else{
- $savepath = $ddcfg_image_dir."/".strftime("%y%m%d",$ntime);
- CreateDir($savepath);
- $fullUrl = $savepath."/".dd2char(strftime("%H%M%S",$ntime).$cuserLogin->getUserID().mt_rand(1000,9999));
- }
-
- if(strtolower($_FILES[$litpic]['type'])=="image/gif") $fullUrl = $fullUrl.".gif";
- else if(strtolower($_FILES[$litpic]['type'])=="image/png") $fullUrl = $fullUrl.".png";
- else $fullUrl = $fullUrl.".jpg";
-
- @move_uploaded_file($_FILES[$litpic]['tmp_name'],$cfg_basedir.$fullUrl);
- $litpic = $fullUrl;
-
- @ImageResize($cfg_basedir.$fullUrl,$cfg_ddimg_width,$cfg_ddimg_height);
-
- $saveinfo = true;
-
- }else{
- if($picname=='') return '';
- //远程缩略
- if($isremote==1 && eregi("^http://",$picname)){
- $ddinfos = GetRemoteImage($picname,$cuserLogin->getUserID());
- if(!is_array($ddinfos)) $litpic = "";
- else{
- $litpic = $ddinfos[0];
- if($ddinfos[1] > $cfg_ddimg_width || $ddinfos[2] > $cfg_ddimg_height){
- @ImageResize($cfg_basedir.$litpic,$cfg_ddimg_width,$cfg_ddimg_height);
- }
- }
- $saveinfo = true;
- }
- //本地缩略
- else{
- //本地大图强制生成本地图缩略
- if($litpic=='ddfirst' && !eregi("^http://",$picname)){
- $oldpic = $cfg_basedir.$picname;
- if(!eregi('_lit',$litpic)){
- $litpic = str_replace('.','_lit.',$picname);
- $saveinfo = true;
- }
- @ImageResize($oldpic,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir.$litpic);
- }else{
- $litpic = $picname;
- }
- }
- }
- $imgfile = $cfg_basedir.$litpic;
- if($saveinfo && is_file($imgfile) && $litpic!=''){
- $info = "";
- $imginfos = GetImageSize($imgfile,$info);
- //把新上传的图片信息保存到媒体文档管理档案中
- $inquery = "
- INSERT INTO dede_uploads(title,url,mediatype,width,height,playtime,filesize,uptime,adminid,memberid)
- VALUES ('{$title} 图','$litpic','1','".$imginfos[0]."','".$imginfos[1]."','0','".filesize($imgfile)."','".time()."','".$cuserLogin->getUserID()."','0');
- ";
- $dsql = new DedeSql();
- $dsql->ExecuteNoneQuery($inquery);
- }
- return $litpic;
- }
- //检测栏目是否设置了浏览权限
- function GetCoRank($arcrank,$typeid){
- $dsql = new DedeSql(false);
- $row = $dsql->GetOne("Select corank From dede_arctype where ID='$typeid' ");
- if($row['corank']!=0) return $row['corank'];
- else return $arcrank;
- }
- //图集里大图的小图
- function GetImageMapDD($filename,$ddm,$oldname=''){
- if($oldname!='' && !eregi("^http://",$oldname)){
- $ddpicok = $oldname;
- }else{
- $ddn = substr($filename,-3);
- $ddpicok = ereg_replace("\.".$ddn."$","-lp.".$ddn,$filename);
- }
- $toFile = $GLOBALS['cfg_basedir'].$ddpicok;
- ImageResize($GLOBALS['cfg_basedir'].$filename,$ddm,300,$toFile);
- return $ddpicok;
- }
- //------------------------
- //上传一个未经处理的图片
- //------------------------
- /*
- //参数一 upname 上传框名称
- //参数二 handurl 手工填写的网址
- //参数三 ddisremote 是否下载远程图片 0 不下, 1 下载
- //参数四 ntitle 注解文字 如果表单有 title 字段可不管
- */
- function UploadOneImage($upname,$handurl='',$ddisremote=1,$ntitle='')
- {
- global $cuserLogin,$cfg_basedir,$cfg_image_dir,$dsql,$title;
- if($ntitle!='') $title = $ntitle;
- $ntime = time();
- $filename = '';
- $isrm_up = false;
- $handurl = trim($handurl);
- //如果用户自行上传了图片
- if(!empty($_FILES[$upname]['tmp_name']) && is_uploaded_file($_FILES[$upname]['tmp_name']))
- {
- $istype = 0;
- $sparr = Array("image/pjpeg","image/jpeg","image/gif","image/png");
- $_FILES[$upname]['type'] = strtolower(trim($_FILES[$upname]['type']));
- if(!in_array($_FILES[$upname]['type'],$sparr)){
- ShowMsg("洗图片式使JPEGGIFPNG式一郑","-1");
- exit();
- }
-
-
- if(!empty($handurl) && !eregi("^http://",$handurl) && file_exists($cfg_basedir.$handurl) ){
- if(!is_object($dsql)) $dsql = new DedeSql();
- $dsql->ExecuteNoneQuery("Delete From dede_uploads where url like '$handurl' ");
- $fullUrl = eregi_replace("\.([a-z]*)$","",$handurl);
- }else{
- $savepath = $cfg_image_dir."/".strftime("%Y-%m",$ntime);
- CreateDir($savepath);
- $fullUrl = $savepath."/".strftime("%d",$ntime).dd2char(strftime("%H%M%S",$ntime).'0'.$cuserLogin->getUserID().'0'.mt_rand(1000,9999));
- }
-
- if(strtolower($_FILES[$upname]['type'])=="image/gif") $fullUrl = $fullUrl.".gif";
- else if(strtolower($_FILES[$upname]['type'])=="image/png") $fullUrl = $fullUrl.".png";
- else $fullUrl = $fullUrl.".jpg";
-
- //保存
- @move_uploaded_file($_FILES[$upname]['tmp_name'],$cfg_basedir.$fullUrl);
- $filename = $fullUrl;
- //水印
- @WaterImg($imgfile,'up');
- $isrm_up = true;
-
- }
- //远程或选择本地图片
- else{
- if($handurl=='') return '';
- //远程图片并要求本地化
- if($isremote==1 && eregi("^http://",$handurl)){
- $ddinfos = GetRemoteImage($handurl,$cuserLogin->getUserID());
- if(!is_array($ddinfos)) $litpic = "";
- else $filename = $ddinfos[0];
- $isrm_up = true;
- //本地图片或远程不要求本地化
- }else{
- $filename = $handurl;
- }
- }
- $imgfile = $cfg_basedir.$filename;
- if(is_file($imgfile) && $isrm_up && $filename!=''){
- $info = "";
- $imginfos = GetImageSize($imgfile,$info);
- //把新上传的图片信息保存到媒体文档管理档案中
- $inquery = "
- INSERT INTO dede_uploads(title,url,mediatype,width,height,playtime,filesize,uptime,adminid,memberid)
- VALUES ('$title','$filename','1','".$imginfos[0]."','".$imginfos[1]."','0','".filesize($imgfile)."','".time()."','".$cuserLogin->getUserID()."','0');
- ";
- $dsql = new DedeSql(false);
- $dsql->ExecuteNoneQuery($inquery);
- }
- return $filename;
- }
- //------------------
- //取第一个图片为缩略图
- //------------------
- function GetDDImgFromBody(&$body)
- {
- $litpic = '';
- preg_match_all("/(src|SRC)=["|'| ]{0,}(.*\.(gif|jpg|jpeg|bmp|png))/isU",$body,$img_array);
- $img_array = array_unique($img_array[2]);
- if(count($img_array)>0){
- $picname = preg_replace("/["|'| ]{1,}/","",$img_array[0]);
- if(ereg("_lit\.",$picname)) $litpic = $picname;
- else $litpic = GetDDImage('ddfirst',$picname,0);
- }
- return $litpic;
- }
- //获得一个附加表单
- //-----------------------------
- function GetFormItemA($ctag)
- {
- return GetFormItem($ctag,'admin');
- }
- //---------------------------
- //处理不同类型的数据
- //---------------------------
- function GetFieldValueA($dvalue,$dtype,$aid=0,$job='add',$addvar='')
- {
- return GetFieldValue($dvalue,$dtype,$aid,$job,$addvar,'admin');
- }
- //获得带值的表单(编辑时用)
- //-----------------------------
- function GetFormItemValueA($ctag,$fvalue)
- {
- return GetFormItemValue($ctag,$fvalue,'admin');
- }
- //载入自定义表单(用于发布)
- function PrintAutoFieldsAdd(&$fieldset,$loadtype='all')
- {
- $dtp = new DedeTagParse();
- $dtp->SetNameSpace("field","<",">");
- $dtp->LoadSource($fieldset);
- $dede_addonfields = "";
- if(is_array($dtp->CTags))
- {
- foreach($dtp->CTags as $tid=>$ctag)
- {
- if($loadtype!='autofield'
- || ($loadtype=='autofield' && $ctag->GetAtt('autofield')==1) )
- {
- $dede_addonfields .= ( $dede_addonfields=="" ? $ctag->GetName().",".$ctag->GetAtt('type') : ";".$ctag->GetName().",".$ctag->GetAtt('type') );
- echo GetFormItemA($ctag);
- }
- }
- }
- echo "<input type='hidden' name='dede_addonfields' value="".$dede_addonfields."">\r\n";
- }
- //载入自定义表单(用于编辑)
- function PrintAutoFieldsEdit(&$fieldset,&$fieldValues,$loadtype='all')
- {
- $dtp = new DedeTagParse();
- $dtp->SetNameSpace("field","<",">");
- $dtp->LoadSource($fieldset);
- $dede_addonfields = "";
- if(is_array($dtp->CTags))
- {
- foreach($dtp->CTags as $tid=>$ctag)
- {
- if($loadtype!='autofield'
- || ($loadtype=='autofield' && $ctag->GetAtt('autofield')==1) )
- {
- $dede_addonfields .= ( $dede_addonfields=='' ? $ctag->GetName().",".$ctag->GetAtt('type') : ";".$ctag->GetName().",".$ctag->GetAtt('type') );
- echo GetFormItemValueA($ctag,$fieldValues[$ctag->GetName()]);
- }
- }
- }
- echo "<input type='hidden' name='dede_addonfields' value="".$dede_addonfields."">\r\n";
- }
- function getfilenameonly($arcid, $typeid, $senddate, $title, $ismake, $arcrank, $money)
- {
- global $dsql;
- require_once DEDEINC.'/inc_channel_unit_functions.php';
- $row = $dsql->getone("select namerule, typedir, siterefer, sitepath ,channeltype from dede_arctype where ID='$typeid'");
- if(is_array($row)){
- if($row['channeltype'] == -2) return $GLOBALS['cfg_plus_dir']."/view.php?aid=$arcid";
- $filename = GetFileNewName($arcid, $typeid, $senddate, $title, $ismake, $arcrank, $row['namerule'],
- $row['typedir'],$money,$row['siterefer'], $row['sitepath']);
- }else{
- showmsg('目id','-1');
- exit;
- }
- if($filename=="") $filename = $GLOBALS['cfg_plus_dir']."/view.php?aid=$arcid";
- return $filename;
- }
- ?>
复制代码 |
|