舍力博客是记录舍力学习和成长的自媒体博客;关注网站SEO技术及互联网发展,免费分享Emlog建站教程、Emlog模板、Emlog插件、SEO教程及SEO优化排名实战心得!
首页 关于本站 网站模板
代码教程
  • Emlog教程
  • 米拓教程
  • SEO优化教程
  • Ecshop教程
  • zblog教程
  • Excel技巧
  • 电脑软件教程
  • 互联网
  • 免费资源
  • 网络新闻
  • 留言咨询
  • 在线问答
  • 申请友链
  • 网址导航
  • 联系舍力
    舍力
    登录
    侧边栏壁纸
    博主头像
    舍力

    静以修身。

    • 累计撰写 1140 篇文章
    • 累计收到 3628 条评论
    • 首页
    • 栏目
      • 首页
      • 关于本站
      • 网站模板
      • 代码教程
        • Emlog教程
        • 米拓教程
        • SEO优化教程
        • Ecshop教程
        • zblog教程
        • Excel技巧
        • 电脑软件教程
      • 互联网
        • 免费资源
        • 网络新闻
      • 留言咨询
        • 在线问答
        • 申请友链
        • 网址导航
      • 联系舍力
    存档于 【201805】 的文章
    • 织梦DedeCMS简略标题(副标题,短标题)标签的调用方法和相关方法 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日
      • 8255 阅读
      • 1 评论
      代码教程
    • PHP实现的在线解压缩脚本代码 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>&nbsp;</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日
      • 5711 阅读
      • 2 评论
      代码教程
    • 让灵魂放暑假,来自2007年11月舍力QQ日志 2018-5-19
      让灵魂放暑假,来自2007年11月舍力QQ日志 今天有网友翻出了舍力2007年的QQ日志,顺便发出来让大家欣赏一下10多年前的文采。 我的灵魂 躲在寂寞的角落 听着油蛉的浅唱 泪倾如雨 为什么广阔的天空 拒绝一对飞翔的翅膀 轻轻地走出去 走进无边的黑暗和迷茫 数着星星 寻找温暖的足迹 怀念那双沾满露水的鞋子 曾经走过野花遍地 一直向前 把沉重的躯壳丢在恐怖疯狂的旷野 诱惑贪婪的野狼 逃不脱欲望的追逐 冰冷地被撕扯进狼腹 我想抓住狼的灵魂 为了一个美丽的传说 憔悴于荒原和山巅 把灵魂推向绝谷 离世的一瞬 最灿烂的微笑 留给红尘恋人 请记住灵魂的陨落 清晨永远从子夜开始 站在天的尽头 敲打一块黑色的陨石 煮熟的躯壳 在熹微中轻舞而笑 把心放在心里面 振动飞翔的翅膀 无论高山还是海洋 是不死的鸟 是奔腾的波 和岁月同春 
      • 2018年5月19日
      • 6847 阅读
      • 1 评论
      心情随笔
    • Emlog模板SEO优化之文章详情页URL怎么做到规范化? 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日
      • 12055 阅读
      • 2 评论
      Emlog教程
    • 二级域名与子目录哪个更有利于SEO? 2018-5-18
      二级域名与子目录哪个更有利于SEO? www.seozac.com/seo-tips/subdomain-or-directory/
      • 2018年5月18日
      • 15163 阅读
      • 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日
      • 10266 阅读
      • 6 评论
      代码教程
    • 在mysql数据库某一个表中的某一个字段都加上一个值? 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日
      • 13639 阅读
      • 4 评论
      代码教程
    博主栏壁纸
    博主头像 舍力

    静以修身。

    1140 文章数
    3628 评论量
    • emlogpro实现分站功能(同一后台,不同前端)
    倒计时
    最新评论
    • 肥饶
      肥饶
      1 年前
      这个好  随机
    • 爱比宝
      爱比宝
      2 年前
      好工具,谢谢分享
    • 上海网站建设
      上海网站建设
      2 年前
      感谢分享
    • ET聊
      ET聊
      3 年前
      分享资源交流经验
    • 百胜综合盘
      百胜综合盘
      3 年前
      很8错!感谢分享
    • 百科情报站
      百科情报站
      3 年前
      你这网站可以哦, 来换个友链吧
    • 舍力
      舍力
      3 年前
      @言之在线:win10都还没有弄明白呢
    • 言之在线
      言之在线
      3 年前
      win11好还是win10好
    • 天兴工作室
      天兴工作室
      3 年前
      网站整改,我网站友链全部下了,麻烦我的链接也可以删掉了
    • 贵金属回收
      贵金属回收
      3 年前
      善良让这世界有了温暖,如果都是冷漠,那多无趣
    载入天数...载入时分秒...
    基于宝塔面板,数据存储于阿里云ECS 粤ICP备11021420号