首页
关于本站
网站模板
代码教程
Emlog教程
米拓教程
SEO优化教程
Ecshop教程
zblog教程
Excel技巧
电脑软件教程
互联网
免费资源
网络新闻
留言咨询
在线问答
申请友链
网址导航
联系舍力
搜索
舍力
登录
搜索
舍力
静以修身。
累计撰写
1140
篇文章
累计收到
3547
条评论
首页
栏目
首页
关于本站
网站模板
代码教程
Emlog教程
米拓教程
SEO优化教程
Ecshop教程
zblog教程
Excel技巧
电脑软件教程
互联网
免费资源
网络新闻
留言咨询
在线问答
申请友链
网址导航
联系舍力
代码教程
2018-5-24
织梦DedeCMS简略标题(副标题,短标题)标签的调用方法和相关方法
标签: 全标题 简短标题 缩略图图片地址 一、简略标题调用标签: 1、{dede:field.shorttitle/} 不可以在{dede:arclist}标签中套用,一般放在网页titile处; 2、 可以在{dede:arclist}标签中套用,一般用在栏目列表。 二、当有简略标题时显示简略标题,没有简略标题时显示正标题: 1、{dede:field name='array' runphp='yes'} if(@me==”) @me=@me;else @me=@me;{/dede:field} 不可以在{dede:arclist}标签中套用,一般放在网页titile处; 2、 if(@me==”) @me=@me;else @me=@me; 可以在{dede:arclist}标签中套用,一般用在栏目列表。 三、简略标题字数修改: 简略标题的字数是做了限制的,可以在管理目录dede文件夹下找到下面5个文件: archives_add.php,archives_do.php,archives_edit.php,article_add.php,article_edit.php 然后分别在文件中找到代码: $shorttitle = cn_substrR($shorttitle,36); 把36改成100就可以了。 四、文章标题字数限制的解决方法: 织梦系统默认的文章标题字数限制是60,也就是30个汉字,不够用怎么办? 1、在后台选择 系统 -> 其它选项 -> 文档标题最大长度,默认是60,一般修改成90 2、在后台,系统 SQL命令行工具中运行:alter table dede_archives change title title varchar(90) 点击确定,出现成功执行1个SQL语句!
2018年5月24日
8236 阅读
1 评论
代码教程
2018-5-24
PHP实现的在线解压缩脚本代码
使用虚拟主机,一般仅有 FTP 上传和简单的后台管理功能。如果网络环境不顺畅,FTP 的传输速度会无法让人忍受。某些主机供应商,提供了在线解压缩功能,大大节省了文件传送时间。如果没有这功能,只要主机支持 PHP 环境,不妨利用该脚本代码执行在线解压缩。以前写过一遍《php在线打包工具》的文章,今天给大家分享一下在线解压的方法教程。 第一步、创建一个文件为slupzip.php(此文件名可自行修改) 第二步、把下面代码放入slupzip.php中(初始密码123456),并上传到空间或者服务器,注意上传的压缩文件要和本文件在同一级此可以解压 <?php //验证密码 $password = "123456"; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>在线ZIP解压程序</title> <style type="text/css"> <!-- body,td{ font-size: 14px; color: #000000; } a { color: #000066; text-decoration: none; } a:hover { color: #FF6600; text-decoration: underline; } --> </style> </head> <body> <form name="myform" method="post" action="<?=$_SERVER;?>" enctype="multipart/form-data" onSubmit="return check_uploadObject(this);"> <? if(!$_REQUEST): ?> <script language="javascript"> function check_uploadObject(form){ if(form.password.value==''){ alert('请输入密码.'); return false; } return true; } </script> <table width="100%" border="0" cellspacing="0" cellpadding="4"> <tr> <td height="40" colspan="2" style="color:#FF9900"><p><font color="#FF0000">在线解压ZIP文件程序</font></p> <p>使用方法:把zip文件通过FTP上传到本文件相同的目录下,选择zip文件;或直接点击“浏览...”上传zip文件。</p> <p>解压的结果保留原来的目录结构。</p> <p> </p></td> </tr> <tr> <td width="11%">选择ZIP文件: </td> <td width="89%"><select name="zipfile"> <option value="" selected>- 请选择 -</option> <? $fdir = opendir('./'); while($file=readdir($fdir)){ if(!is_file($file)) continue; if(preg_match('/\.zip$/mis',$file)){ echo "<option value='$file'>$file</option>\r\n"; } } ?> </select></td> </tr> <tr> <td width="11%" nowrap>或上传文件: </td> <td width="89%"><input name="upfile" type="file" id="upfile" size="20"></td> </tr> <tr> <td>解压到目录: </td> <td><input name="todir" type="text" id="todir" value="sljyzip" size="15"> (留空为本目录,必须有写入权限)</td> </tr> <tr> <td>验证密码: </td> <td><input name="password" type="password" id="password" size="15"> (源文件中设定的密码)</td> </tr> <tr> <td><input name="myaction" type="hidden" id="myaction" value="dounzip"></td> <td><input type="submit" name="Submit" value=" 解 压 "></td> </tr> </table> <? elseif($_REQUEST=="dounzip"): class zip { var $total_files = 0; var $total_folders = 0; function Extract ( $zn, $to, $index = Array(-1) ) { $ok = 0; $zip = @fopen($zn,'rb'); if(!$zip) return(-1); $cdir = $this->ReadCentralDir($zip,$zn); $pos_entry = $cdir; if(!is_array($index)){ $index = array($index); } for($i=0; $index;$i++){ if(intval($index)!=$index||$index>$cdir) return(-1); } for ($i=0; $i<$cdir; $i++) { @fseek($zip, $pos_entry); $header = $this->ReadCentralFileHeaders($zip); $header = $i; $pos_entry = ftell($zip); @rewind($zip); fseek($zip, $header); if(in_array("-1",$index)||in_array($i,$index)) $stat]=$this->ExtractFile($header, $to, $zip); } fclose($zip); return $stat; } function ReadFileHeader($zip) { $binary_data = fread($zip, 30); $data = unpack('vchk/vid/vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $binary_data); $header = fread($zip, $data); if ($data != 0) { $header = fread($zip, $data); } else { $header = ''; } $header = $data;$header = $data; $header = $data; $header = $data; $header = $data; $header = $data;$header = $data; if ($header && $header){ $hour=($header&0xF800)>>11;$minute=($header&0x07E0)>>5; $seconde=($header&0x001F)*2;$year=(($header&0xFE00)>>9)+1980; $month=($header&0x01E0)>>5;$day=$header&0x001F; $header = mktime($hour, $minute, $seconde, $month, $day, $year); }else{$header = time();} $header = $header; $header = "ok"; return $header; } function ReadCentralFileHeaders($zip){ $binary_data = fread($zip, 46); $header = unpack('vchkid/vid/vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $binary_data); if ($header != 0) $header = fread($zip,$header); else $header = ''; if ($header != 0) $header = fread($zip, $header); else $header = ''; if ($header != 0) $header = fread($zip, $header); else $header = ''; if ($header && $header) { $hour = ($header & 0xF800) >> 11; $minute = ($header & 0x07E0) >> 5; $seconde = ($header & 0x001F)*2; $year = (($header & 0xFE00) >> 9) + 1980; $month = ($header & 0x01E0) >> 5; $day = $header & 0x001F; $header = mktime($hour, $minute, $seconde, $month, $day, $year); } else { $header = time(); } $header = $header; $header = 'ok'; if (substr($header, -1) == '/') $header = 0x41FF0010; return $header; } function ReadCentralDir($zip,$zip_name){ $size = filesize($zip_name); if ($size < 277) $maximum_size = $size; else $maximum_size=277; @fseek($zip, $size-$maximum_size); $pos = ftell($zip); $bytes = 0x00000000; while ($pos < $size){ $byte = @fread($zip, 1); $bytes=($bytes << 8) | ord($byte); if ($bytes == 0x504b0506 or $bytes == 0x2e706870504b0506){ $pos++;break;} $pos++; } $fdata=fread($zip,18); $data=@unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size',$fdata); if ($data != 0) $centd = fread($zip, $data); else $centd = ''; $centd = $data; $centd = $data; $centd = $data;$centd = $data; $centd = $data; $centd = $data; return $centd; } function ExtractFile($header,$to,$zip){ $header = $this->readfileheader($zip); if(substr($to,-1)!="/") $to.="/"; if($to=='./') $to = ''; $pth = explode("/",$to.$header); $mydir = ''; for($i=0;$i<count($pth)-1;$i++){ if(!$pth) continue; $mydir .= $pth."/"; if((!is_dir($mydir) && @mkdir($mydir,0777)) || (($mydir==$to.$header || ($mydir==$to && $this->total_folders==0)) && is_dir($mydir)) ){ @chmod($mydir,0777); $this->total_folders ++; echo "<input name='dfile' type='checkbox' value='$mydir' checked> <a href='$mydir' target='_blank'>目录: $mydir</a><br>"; } } if(strrchr($header,'/')=='/') return; if (!($header==0x41FF0010)&&!($header==16)){ if ($header==0){ $fp = @fopen($to.$header, 'wb'); if(!$fp) return(-1); $size = $header; while ($size != 0){ $read_size = ($size < 2048 ? $size : 2048); $buffer = fread($zip, $read_size); $binary_data = pack('a'.$read_size, $buffer); @fwrite($fp, $binary_data, $read_size); $size -= $read_size; } fclose($fp); touch($to.$header, $header); }else{ $fp = @fopen($to.$header.'.gz','wb'); if(!$fp) return(-1); $binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($header), Chr(0x00), time(), Chr(0x00), Chr(3)); fwrite($fp, $binary_data, 10); $size = $header; while ($size != 0){ $read_size = ($size < 1024 ? $size : 1024); $buffer = fread($zip, $read_size); $binary_data = pack('a'.$read_size, $buffer); @fwrite($fp, $binary_data, $read_size); $size -= $read_size; } $binary_data = pack('VV', $header, $header); fwrite($fp, $binary_data,8); fclose($fp); $gzp = @gzopen($to.$header.'.gz','rb') or die("Cette archive est compress閑"); if(!$gzp) return(-2); $fp = @fopen($to.$header,'wb'); if(!$fp) return(-1); $size = $header; while ($size != 0){ $read_size = ($size < 2048 ? $size : 2048); $buffer = gzread($gzp, $read_size); $binary_data = pack('a'.$read_size, $buffer); @fwrite($fp, $binary_data, $read_size); $size -= $read_size; } fclose($fp); gzclose($gzp); touch($to.$header, $header); @unlink($to.$header.'.gz'); } } $this->total_files ++; echo "<input name='dfile' type='checkbox' value='$to$header' checked> <a href='$to$header' target='_blank'>文件: $to$header</a><br>"; return true; } // end class } set_time_limit(0); if ($_POST != $password) die("输入的密码不正确,请重新输入。"); if(!$_POST) $_POST = "."; $z = new Zip; $have_zip_file = 0; function start_unzip($tmp_name,$new_name,$checked){ global $_POST,$z,$have_zip_file; $upfile = array("tmp_name"=>$tmp_name,"name"=>$new_name); if(is_file($upfile)){ $have_zip_file = 1; echo "<br>正在解压: <input name='dfile' type='checkbox' value='$upfile' ".($checked?"checked":"")."> $upfile<br><br>"; if(preg_match('/\.zip$/mis',$upfile)){ $result=$z->Extract($upfile,$_POST); if($result==-1){ echo "<br>文件 $upfile 错误.<br>"; } echo "<br>完成,共建立 $z->total_folders 个目录,$z->total_files 个文件.<br><br><br>"; }else{ echo "<br>$upfile 不是 zip 文件.<br><br>"; } if(realpath($upfile)!=realpath($upfile)){ @unlink($upfile); rename($upfile,$upfile); } } } clearstatcache(); start_unzip($_POST,$_POST,0); start_unzip($_FILES,$_FILES,1); if(!$have_zip_file){ echo "<br>请选择或上传文件.<br>"; } ?> <input name="password" type="hidden" id="password" value="<?=$_POST;?>"> <input name="myaction" type="hidden" id="myaction" value="dodelete"> <input name="按钮" type="button" value="返回" onClick="window.location='<?=$_SERVER;?>';"> <input type='button' value='反选' onclick='selrev();'> <input type='submit' onclick='return confirm("删除选定文件?");' value='删除选定'> <script language='javascript'> function selrev() { with(document.myform) { for(i=0;i<elements.length;i++) { thiselm = elements; if(thiselm.name.match(/dfile\/)) thiselm.checked = !thiselm.checked; } } } alert('完成.'); </script> <? elseif($_REQUEST=="dodelete"): set_time_limit(0); if ($_POST != $password) die("输入的密码不正确,请重新输入。"); $dfile = $_POST; echo "正在删除文件...<br><br>"; if(is_array($dfile)){ for($i=count($dfile)-1;$i>=0;$i--){ if(is_file($dfile)){ if(@unlink($dfile)){ echo "已删除文件: $dfile<br>"; }else{ echo "删除文件失败: $dfile<br>"; } }else{ if(@rmdir($dfile)){ echo "已删除目录: $dfile<br>"; }else{ echo "删除目录失败: $dfile<br>"; } } } } echo "<br>完成.<br><br><input type='button' value='返回' onclick=\"window.location='$_SERVER';\"><br><br> <script language='javascript'>('完成.');</script>"; endif; ?> </form> </body> </html>
2018年5月24日
5688 阅读
2 评论
代码教程
2018-5-19
Emlog模板SEO优化之文章详情页URL怎么做到规范化?
在Emlog程序模板制作初期就必须要考虑到路径规范化的问题,如果不注意就会造成危害: 1、搜索引擎在抓取网页的时候遇到多种路径的时候,他会自动选择其中一种路径作为标准,这个路径的选择也许不是你想让搜索引擎抓取的,平时做的外链用的都不是这个路径,这时候搜索引擎在给网页做排名的时候就会有一部分外链权重不计算在内。 2、多种路径会让本来就不熟悉网站的用户产生记忆模糊的问题,在一定程度上影响了用户体验。 所以,我们要力求同一个网页要有唯一的简单、短的路径,这样可以方便搜索引擎抓取和排名权重的集中,避免不必要的麻烦。同时这样的路径可以方便用户去记忆,从连接上满足用户体验。 emlog博客程序URL比较乱,举例如下: www.shuyong.net/?post=1029 www.shuyong.net/1029.html www.shuyong.net/xxx/1029.html 等都是访问到通一个页面,今天舍力就给大家分享一个简单的emlog模板路径规范化教程。 把下面代码直接放入<head></head>之间即可(温馨提示:代码中如何出现rel="canonical"请删除) <?php if($logid){?> <link href="<?php echo Url::log($logid);?>" rel="canonical" /> <?php }?> <?php if($sortid){?> <link href="<?php echo Url::sort($sortid);?>" rel="canonical" /> <?php }?> <?php if($tag){?> <link href="<?php echo Url::tag($params);?>" rel="canonical" /> <?php }?> <?php if($record){?> <link href="<?php echo Url::record($params);?>" rel="canonical" /> <?php }?> 如需301请参考文章《解决Emlog博客程序伪静态后URL不是唯一地址的教程》
2018年5月19日
12010 阅读
2 评论
Emlog教程
2018-5-18
二级域名与子目录哪个更有利于SEO?
www.seozac.com/seo-tips/subdomain-or-directory/
2018年5月18日
15147 阅读
1 评论
SEO优化教程
2018-5-4
防止火车头等采集器采集的一些简单方法分享
舍力自己也用采集器采集过文章的,所以对网站防采集有一些心得体会,今天就给大家分享一些采用动态不规则的html标签防止采集的方法 随机代码: <?php echo dechex(rand(1,888888));?> 舍力分析:如果css中用来确定参数,那么<div class="sheli">与<div class="slsj sheli">对于页面显示效果一样,但是作为采集器的标记就是两个不同标记了,如果每次页面的html标签内空格数随机,那么采集规则 就失效了。但是,这对搜索引擎爬虫没多大影响。 操作方法:将循环的div中calss最前面加入随时代码,要注意空格;例如 <div class="<?php echo dechex(rand(1,888888));?> sheli"> 适合网站:所有PHP动态且不想遵守网页设计规范的网站。 温馨提示:舍力提供的这个方法也只是给采集器增加一些困难,高手还是能采集到你网站的数据的。
2018年5月4日
10249 阅读
6 评论
代码教程
2018-5-2
在mysql数据库某一个表中的某一个字段都加上一个值?
举例:现有数据库gid的值为 1-1000,如何统一更换gid的值为2001-3000 UPDATE 表名 SET 字段=字段+'1' UPDATE语句用于修改表数据,如果不加条件则修改所有数据,SET设置修改的字段,如果加的值与列的数据类型不符合,则需要转换数据类型 举例说明: UPDATE emlog_blog SET gid=gid+'2000' 舍力测试结果:这句SQL语句是将gid列所有的值加上2000;如原值是1,执行语句后结果是:2001。 网上有另一种说法,如果gid值为文本的话,这句SQL语句是将gid列所有的值后面加上2000;如原值是sheli,执行语句后结果是:sheli2000,此方法为做验证,仅供参考。
2018年5月2日
13609 阅读
4 评论
代码教程
2018-4-28
PHP str_replace替换多个字符串代码
str_replace(array("需要替换的标签1","需要替换的标签2"),"替换后的参数","原标签")
2018年4月28日
7592 阅读
1 评论
代码教程
2018-4-24
PHP使用strip_tags()去除html标签后代码仍有空白的解决方法
这篇文章主要介绍了php使用strip_tags()去除html标签仍有空白的解决方法,涉及php正则替换的相关操作技巧,需要的朋友可以参考下 去除html标签:strip_tags() 去除空白:'/\s/' 截取字数:mb_substr 以下是完整代码 mb_substr(preg_replace('/\s/', '',strip_tags(需要替换的内容)),0,80);//截取80个汉字 举例说明: <p> 舍力博客是一个记录了生活的点点滴滴,关注互联网发展、分享互联网精彩资讯,免费分享Emlog教程_模板_插件的个人seo博客。</p> <p> <br /></p> <p> qwertyuiop</p> <p> asdfghjkl;'\</p> <p> zxcvbnm,./</p> 输出的结果: 舍力博客是一个记录了生活的点点滴滴,关注互联网发展、分享互联网精彩资讯,免费分享Emlog教程_模板_插件的个人seo博客。qwertyuiopasdfghjkl;'\zxcvbnm,./
2018年4月24日
8160 阅读
6 评论
代码教程
2018-4-12
Emlog获取指定多个标签下的文章代码分享
Emlog获取指定多个标签下的文章代码分享,直接把下面代码如下放入你想要显示的地址即可,具体代码如下: <?php $tags = explode(",",'舍力,emlog');//填写的标签必须存在,否则出错 $Tag_Model = new Tag_Model(); $db = MySql::getInstance(); foreach($tags as $tagm){ if($i!=0){$sl=',';} $tagid .=''.$sl.$Tag_Model->getTagByName($tagm); $i++;} $cpsql = "SELECT title,content,excerpt,author,gid,date FROM ".DB_PREFIX."blog WHERE gid in ($tagid) order by date DESC limit 0,15"; $cplist = $db->query($cpsql); while($value = $db->fetch_array($cplist)){ ?> <li><a href="<?php echo Url::log($value);?>" title="<?php echo $value;?>" target="_blank"><?php echo $value;?></a></li> <?php }?> 舍力只提供代码调用,css方面的知识这里不普及,使用本教程必须注意标签是否存在,否则会出错。有疑问请在本页留言。 相关阅读:EMLOG获取某个标签名及下面的所有文章的方法
2018年4月12日
8704 阅读
3 评论
Emlog教程
2018-4-6
php 判断当前url是http还是https的方法
php 判断当前url是http还是https的方法,代码如下: <?php $slhttp = ((isset($_SERVER) && $_SERVER == 'on') || (isset($_SERVER) && $_SERVER == 'https')) ? 'https://' : 'http://'; echo $slhttp; ?>
2018年4月6日
18496 阅读
0 评论
代码教程
2018-3-6
Emlog判断某个字段参数内容是否存在的教程分享
以下代码教程仅为舍力登记收藏之用,不提供任何说明 本段代码仅在emlog5.3.1版本下测试正常 $title = '舍力'; $sl_title = mysql_query("select title from emlog_blog where excerpt='$title' limit 1"); 判断代码: mysql_fetch_array($sl_title) emlog6.0.0版本请使用以下代码 $is_title= MySql::getInstance()->num_rows(MySql::getInstance()->query("SELECT title FROM ".DB_PREFIX."blog where title = '".$title."' limit 1")); 判断代码: $is_title>0
2018年3月6日
7551 阅读
0 评论
Emlog教程
2018-2-27
自定义Emlog列表页显示文章数量的方法教程分享
emlog列表页默认显示文章数量是后台直接控制的,前段时间做了个导航站,需要区分不同分类显示的文章数量不一样,所有就用到今天说的教程,教程详情如下:以默认模板为例 在模板文件log_list.php中找到代码 foreach($logs as $value) 替换为 foreach($Log_Model->getLogsForHome("order by date DESC",$page,30) as $value) 其中的30为每页显示的数量 分类请参考《不修改emlog内核实现博客分页自定义的方法分享》 将其中的$index_lognum改为30即可
2018年2月27日
15376 阅读
1 评论
Emlog教程
4
5
6
7
8