帝国cms安全函数 帝国cms信息反馈
帝国CMS缩略图函数 sys_ResizeImg手机网站不生效,有谁解决过么?
一、帝国cms生成缩略图所用到的方法或函数是sys_ResizeImg(),依赖于php主机环境是否安装并支持gd库,通常都是支持的。
创新互联公司主打移动网站、做网站、网站设计、网站改版、网络推广、网站维护、空间域名、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。
img src="?=sys_ResizeImg($bqr[titlepic],375,287,1)?" alt="?=$bqr['title']?"/
——代码摘自学而行营销网首页模板,效果如下。
用sys_ResizeImg()方法生成缩略图后,可以查看图片的路径,你发现图片路径并不在后台上传默认的d/file目录下,而是放在/e/data/tmp/目录中,由此可检验是否已经生效;另外方法中的第一个数字(本例中是375)表示缩略图的宽度,第2个数字(本例中是287)则是缩略图的高度,参数1则表示帝国默认的裁剪缩放生成缩略图的方式。
关于sys_ResizeImg()的最后参数说明。见如下:
帝国CMS缩略图函数改进(GD库改进)
本文关键字词:缩略图友孝,缩略图函数,帝国CMS,帝国CMS,帝国CMS缩略图去黑边框
第一种方式 帝国默认:
sys_ResizeImg($r[titlepic],宽,高,0);//帝国默认的不裁剪缩放生成缩略图的方式
第二种方式 帝国默认:
sys_ResizeImg($r[titlepic],宽,高,1);//帝国默认的裁剪缩放生成缩略图的方式
第三种方式 去掉裁剪不够时的黑边并且从图片缩放后中间裁剪:
sys_ResizeImg($r[titlepic],宽,高,2);//新加去黑边裁剪生成缩略图的方式
第四种方式 只固定图片的宽,高度不限制(类似不规则瀑布流的图片形式),高填写为大于0的任意整数数字:
sys_ResizeImg($r[titlepic],宽,高,3);//新加去黑边生成类似瀑布流格式的方式
二、但是你看到的上图示例效果是经过改进后的,而默认sys_ResizeImg()生成的缩略图则是压缩比太高,图片质量很低,看上去很模糊失真,简直可用惨不忍睹来形容。如下。
(如果一个人审美正常的话,那么上图这个美女脸上的像素点如此明显,如此糙,或好枯稿许你看了不会呕吐,但相信你会把自己的眼光移到别处的。)
要修改sys_ResizeImg()生成缩略图的质量倒是很容易。只需要打开e/class/gd.php文件。找到如下这行。
$func_output($temp_image, $new_name.$func_exname,9);
将最后一个数字修改为:
$func_output($temp_image, $new_name.$func_exname,85);
其中85就代表生成的缩略图压缩比,数字越高,压缩率越低,图片质量自然就越高,但要注意的是,图片质量高文件就会增大,如果图片过多、尺寸过大就会影响页面加载速度(通常),而我们使用缩略图的一个重要目的就是要减少图片尺寸以提高页面打开速度,因此这个败贺数字华哥建议设置在65-90之间为好。
然后上传覆盖。再重新生成页面,查看是否有所变化。
讲真,这个修改方法以前华哥曾经实践过至少两次,但都没有成功。这次实践居然轻松就成功了,简直可说是如有神助!
不过也找不到以前失败的原因,或许是换了网站主机空间的缘故吧。可以判断的是,如果不成功看不到变化,那和这个修改方法无关,修改方法是正确的,这次得到测试和应用,没有任何变化或许要去检测主机系统或服务器的php环境配置。
利用帝国CMS来仿站需要用到的函数有哪些
一、esub()截取字段函数语法:esub(字符串,截取字数,后缀)
说明:后缀为截取字符后附带内容,此参数可以省略。
使用范例:
,返回结果为:123456
,返回结果为:123456...
二、date()转换时间格式函数
语法:date(时间格式,时间戳)
说明:PHP本身函数,使用说明可以参考旅大:
使用范例:
,返回结果为:2010-06-30 10:30:10
三、format_datetime()转换时间格式函数2
语法:format_datetime(正常时间,时间格式)
说明:和date()的区别是format_datetime是转换正常时间,而date是转换unix时间戳。
使用范例:
,返回结果为:06/30
四、通过ID取得栏目地址函数
语法:sys_ReturnBqClassname($r,9)
说明:$r为含栏目ID的数组,变量名可任意命名。
使用范例:取得栏目ID=2的栏目地址。
$cr['classid']=2;
$classurl=sys_ReturnBqClassname($cr,9);
echo $classurl;
?
通过ID取得栏目地址的其他方法:
(1)、/e/public/ClassUrl/?classid=栏目ID
(2)、/
五、取得信息内容页地址函数
语法:sys_ReturnBqTitleLink($r)
说明:$r为含“id,classid,newspath,filename,groupid,titleurl”字段内容的数组,变量名可任意命名。
使用斗纳范例:取得信息ID=8的新闻页面地址
$nr=$empire-fetch1("select
id,classid,newspath,filename,groupid,titleurl from {$dbtbpre}ecms_news where
id='8' limit 1");
$titleurl=sys_ReturnBqTitleLink($nr);
echo $titleurl;
?
通过ID取得信息内容页地址的其他方法:
/e/public/InfoUrl/?classid=栏目IDid=信息ID
六、提示信息函数1
语法:printerror($error,$gotourl,$ecms,$noautourl,$novar)
说明:
$error:提示信息内容,可以为语言包变量,也可以直接提示内容。
$gotourl:提示信息转向链接地址
$ecms:0为后台提示信息、1为前台提示信息、8为后台提示信息(alert方式)、拆销竖9为前台提示信息(alert方式)
$noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0
$novar:0为提示信息内容采用语言包变量,1为提示信息内容为直接提示内容。此参数可以省略,默认为0
刚学习PHP,问一下,帝国CMS里面e/class/connect.php 函数CheckCanPostUrl()
首先global $public_r;首先定义一个全局变量$public_r,这个变量是一个数组,里面存了一些系统设置,如网站域名等,在这里$public_r['canposturl']是系统设置里面的“前台允许提交的来源地址”,每一列是一个地址,比如
让我们一行一行分析:冲裤
if($public_r['canposturl']){ //如果设置了前台允许提交的来源地址
$r=explode("\r\n",$public_r['canposturl']); //按照换行\r\n切分为一个数组$r,结果应该是
$r = array('', '');
$count=count($r);//使用数组的count方法统计有多少条地址
$b = 0; //这个变量是当作一个标志,用来判断
for($i=0;$i$count;$i++) //
$_SERVER['HTTP_REFERER'] //这个得到的是页面的来源地址,比如我从点击一个链接到,那么使用$_SERVER['HTTP_REFERER'] 得到的就是
for($i=0;$i$count;$i++)
if(strstr($_SERVER['HTTP_REFERER'],$r[$i]))
这个将页面的来源地址循环和“前台允许提交的来源地址”数组$r里面的每一条对比,如果存在就跳出循环并设置$b=1,如果不存在就继续循环,循环结束看$b的值,只有在存在的情况下才会得到$b=1,否则$b=0,当$b=0的时判备候,使用错误跳转函数printerror,'NotCanPostUrl'是一个错误常量,在e\data\language\gb\pub\q_message.php中,表示'请从网站提交数据'。
这个函数就是用来判断前台提交的表单是不是从指定的网站发来的,防止有人修改表单恶意注册等散冲简等之类的。
本文标题:帝国cms安全函数 帝国cms信息反馈
路径分享:http://myzitong.com/article/ddpeseh.html