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

    用心做好每一件事!

    • 累计撰写 1139 篇文章
    • 累计收到 3506 条评论
    • 首页
    • 栏目
      • 首页
      • 关于本站
      • 网站模板
      • 代码教程
        • Emlog教程
        • 米拓教程
        • SEO优化教程
        • Ecshop教程
        • zblog教程
        • Excel技巧
        • 电脑软件教程
      • 互联网
        • 免费资源
        • 网络新闻
      • 留言咨询
        • 在线问答
        • 申请友链
        • 网址导航
      • 联系舍力
    作者 【1】 的文章
    • TeamViewer 远程控制无需安装版本分享 2018-6-22
      TeamViewer 远程控制无需安装版本分享 TeamViewer是一个能在任何防火墙和NAT代理的后台用于远程控制的应用程序,桌面共享和文件传输的简单且快速的解决方案。为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可,而不需要进行安装(也可以选择安装,安装后可以设置开机运行)。该软件第一次启动在两台计算机上自动生成伙伴 ID。只需要输入你的伙伴的ID到TeamViewer,然后就会立即建立起连接。 下载链接:https://pan.baidu.com/s/12Czvaw67zTiP9caCtd7m9A
      • 2018年-6月-22日
      • 15599 阅读
      • 1 评论
      免费资源
    • js实现手机页面一键复制代码 2018-6-11
      js实现手机页面一键复制代码 最近公司做一个淘宝移动端活动页面,需要要生成一下淘口令,为了优化用户体验,需要做一个复制按钮,能够一键复制淘口令。代码如下(舍力仅测试ios系统下微信打开的网页是可以复制的,其他途径未做测试): <textarea name="text" id="sl" readonly="readonly">需要复制的内容</textarea> <button onclick="slcopy()">点击复制</button> <script> function slcopy(){ var ele = document.getElementById("sl");//ele是要复制的元素的对象 ele.focus(); // ele.select(); ele.setSelectionRange(0, ele.value.length); if(document.execCommand('copy', false, null)){ //success info alert("复制成功") } else{ //fail info alert("复制失败") } } </script>
      • 2018年-6月-11日
      • 17653 阅读
      • 9 评论
      代码教程
    • 【淘宝新技能】10个场景下的中差评回复技巧 2018-6-7
      【淘宝新技能】10个场景下的中差评回复技巧 中差评是一把双刃剑,买家进店浏览商品会查看评价,现在增加了个“问大家”,如果看到的都是好评,买家下单的概率是不是更大了呢。 有了差评,原则上是积极主动回访顾客,寻求友好协商,争取把中差评消除掉。我们同时也知道,有各种“不可抗力”的因素导致总有一些中差评是无法撼动的,比如买家喜好、情绪波动、期望值差异、无理由差评、同行诋毁、职业差评师等。 聪明的掌柜会将计就计,合理的回复差评,比如以轻松幽默的方式、真诚道歉的方式、表示很无辜的方式等尽量把中差评的影响最小化,小编也梳理了一些不同场景下的中差评,以不同的方式回复,供卖家们参考,大家有更好的回复技巧也可在文章底部留言回复。 【差评】:客服回复慢 回复差评术语: 亲,您好,由于光临本店的客户比较多,客服暂时忙不过来,回复您慢了真诚感到抱歉,我们也恨不得生出几双手来。您的差评是我们客服服务的警钟,我会加强客服培训,避免以后出现类似的情况。也感谢您对我们店的支持,您的光临是我们的动力,希望您能够有一个完美的购物体验! 【差评】:客服服务态度差 回复差评术语: 亲,真的很抱歉,由于客服面对的客户比较多,真的很辛苦,难免会心浮气躁,对于这点我已经严厉批评她了,也作出一系列的惩罚与改革,作为店长的我向您保证,您下次光临本店将竭力为你提供优质服务和快乐。 【差评】:发错货、漏发 回复差评术语: 亲,由于本店宝贝很受欢迎,购买人数较多,工作人员忙不过来,由于疏忽忘记给您发错货/忘记发货/发货不及时,我们深感歉意!为此我们制定了一个改革机制,对每一个下单的买家按下单时间顺序排列起来,按顺序发货,避免发错单/漏发单/延迟发货。希望下次能够给更多买家一个完美的购物体验,也谢谢亲的支持! 【差评】:N天才到货... 回复差评术语: 您好亲,在发货途中,由于地区还有天气的问题延迟了发货速度,我已经跟快递公司的老板联系上了,他让我转达对您的歉意!如果您下次能再光顾一次小店,他亲自给您打包裹,第一时间给您发出。确实对不起了,拆包裹的时刻是最幸福的,耽误了那么久的幸福时刻,给您添麻烦了,宝贝有后续问题及时联系我们,优先处理哦。 【差评】:打开包裹是坏的.... 回复差评术语: 您好亲,经查实验证,我们发货时的宝贝是完好无损,是由于发货途中由于快递工作人员的疏忽导致损坏物件,他们也是深感抱歉!我也联系过他们老板,下次如再出现必将终止合作,他们也会给亲做出一定的赔偿处理。 【差评】:产品有瑕疵.... 回复差评术语: 亲,确实抱歉,由于生产过程中很难避免会出现一些瑕疵,所以导致质量方面的会稍微差一些,我们也跟厂家反映过这个问题了,我用我的人格保证,下次绝对不会再出现这种类似情况,这边也会加强发货之前的检验工作,尽力做到万无一失,如果有出现此类问题的买家们,我们的售后都在,帮您解决问题是我们的宗旨,给您一个满意的答复是我们的目标。祝您购物愉快! 【差评】:有色差... 回复差评术语: 亲,由于拍摄过程中不同光线导致跟实物有所误差,给您带来的不便感到抱歉!我们会尽力把误差最小化,如果对此有所忌讳的亲们亲慎重拍下,毕竟人无完人哦. 【差评】:尺寸不对.... 回复差评术语: 亲,购买之前尺寸不懂的话最好咨询客服或者参照详情页的尺寸表,根据不用需求选择不同的尺寸,同时建议根据平时自己的尺寸来选择,不过有点误差还是在所难免的,毕竟布料等都是不同的。我们的宝贝还是比较受顾客欢迎的,质量保证,售后完善,大可放心订购! 【差评】:产品性价比不高 回复差评术语: 亲,老实来说,这个价格已经是对得起这个质量了,我们虽然比不起大卖家,但是我们都是会凭着良心做事,先谈质量,再谈价钱,大家有目共睹,我家宝贝也是受大多买家的欢迎,希望您是第一个不满意的,也是最后一个不满意的,店铺优惠期间,买2包邮,优先抢购吧! 【差评】:款式不喜欢 回复差评术语: 亲,相信您是经过千挑百选才会决定下单,但是收到货后却说款式不喜欢,难道亲在挑选的时候是光看价钱不看宝贝图片,还是我们的图片没能吸引您的注意,还是您下错单了呢,如果真的是这样,那我只能说跟您说声抱歉!也提醒各位买家选择自己心仪的宝贝再下单,要不我们快递叔叔辛苦的工作就白费了,望亲体谅,谢谢!
      • 2018年-6月-7日
      • 8384 阅读
      • 3 评论
      淘宝课堂
    • 织梦DedeCMS简略标题(副标题,短标题)标签的调用方法和相关方法 2018-5-24
      织梦DedeCMS简略标题(副标题,短标题)标签的调用方法和相关方法 标签: [field:title/]        全标题 [field:shorttitle/]   简短标题 [field:picname/]      缩略图图片地址 一、简略标题调用标签: 1、{dede:field.shorttitle/} 不可以在{dede:arclist}标签中套用,一般放在网页titile处; 2、[field:shorttitle/] 可以在{dede:arclist}标签中套用,一般用在栏目列表。 二、当有简略标题时显示简略标题,没有简略标题时显示正标题: 1、{dede:field name='array' runphp='yes'} if(@me[‘shorttitle']==”) @me=@me[‘title'];else @me=@me[‘shorttitle'];{/dede:field} 不可以在{dede:arclist}标签中套用,一般放在网页titile处; 2、[field:array runphp='yes'] if(@me[‘shorttitle']==”) @me=@me[‘title'];else @me=@me[‘shorttitle'];[/field:array] 可以在{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日
      • 8223 阅读
      • 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[PHP_SELF];?>" enctype="multipart/form-data" onSubmit="return check_uploadObject(this);"> <? if(!$_REQUEST["myaction"]): ?> <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["myaction"]=="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['offset']; if(!is_array($index)){ $index = array($index); } for($i=0; $index[$i];$i++){ if(intval($index[$i])!=$index[$i]||$index[$i]>$cdir['entries']) return(-1); } for ($i=0; $i<$cdir['entries']; $i++) { @fseek($zip, $pos_entry); $header = $this->ReadCentralFileHeaders($zip); $header['index'] = $i; $pos_entry = ftell($zip); @rewind($zip); fseek($zip, $header['offset']); if(in_array("-1",$index)||in_array($i,$index)) $stat[$header['filename']]=$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['filename'] = fread($zip, $data['filename_len']); if ($data['extra_len'] != 0) { $header['extra'] = fread($zip, $data['extra_len']); } else { $header['extra'] = ''; } $header['compression'] = $data['compression'];$header['size'] = $data['size']; $header['compressed_size'] = $data['compressed_size']; $header['crc'] = $data['crc']; $header['flag'] = $data['flag']; $header['mdate'] = $data['mdate'];$header['mtime'] = $data['mtime']; if ($header['mdate'] && $header['mtime']){ $hour=($header['mtime']&0xF800)>>11;$minute=($header['mtime']&0x07E0)>>5; $seconde=($header['mtime']&0x001F)*2;$year=(($header['mdate']&0xFE00)>>9)+1980; $month=($header['mdate']&0x01E0)>>5;$day=$header['mdate']&0x001F; $header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year); }else{$header['mtime'] = time();} $header['stored_filename'] = $header['filename']; $header['status'] = "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['filename_len'] != 0) $header['filename'] = fread($zip,$header['filename_len']); else $header['filename'] = ''; if ($header['extra_len'] != 0) $header['extra'] = fread($zip, $header['extra_len']); else $header['extra'] = ''; if ($header['comment_len'] != 0) $header['comment'] = fread($zip, $header['comment_len']); else $header['comment'] = ''; if ($header['mdate'] && $header['mtime']) { $hour = ($header['mtime'] & 0xF800) >> 11; $minute = ($header['mtime'] & 0x07E0) >> 5; $seconde = ($header['mtime'] & 0x001F)*2; $year = (($header['mdate'] & 0xFE00) >> 9) + 1980; $month = ($header['mdate'] & 0x01E0) >> 5; $day = $header['mdate'] & 0x001F; $header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year); } else { $header['mtime'] = time(); } $header['stored_filename'] = $header['filename']; $header['status'] = 'ok'; if (substr($header['filename'], -1) == '/') $header['external'] = 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['comment_size'] != 0) $centd['comment'] = fread($zip, $data['comment_size']); else $centd['comment'] = ''; $centd['entries'] = $data['entries']; $centd['disk_entries'] = $data['disk_entries']; $centd['offset'] = $data['offset'];$centd['disk_start'] = $data['disk_start']; $centd['size'] = $data['size']; $centd['disk'] = $data['disk']; return $centd; } function ExtractFile($header,$to,$zip){ $header = $this->readfileheader($zip); if(substr($to,-1)!="/") $to.="/"; if($to=='./') $to = ''; $pth = explode("/",$to.$header['filename']); $mydir = ''; for($i=0;$i<count($pth)-1;$i++){ if(!$pth[$i]) continue; $mydir .= $pth[$i]."/"; if((!is_dir($mydir) && @mkdir($mydir,0777)) || (($mydir==$to.$header['filename'] || ($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['filename'],'/')=='/') return; if (!($header['external']==0x41FF0010)&&!($header['external']==16)){ if ($header['compression']==0){ $fp = @fopen($to.$header['filename'], 'wb'); if(!$fp) return(-1); $size = $header['compressed_size']; 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['filename'], $header['mtime']); }else{ $fp = @fopen($to.$header['filename'].'.gz','wb'); if(!$fp) return(-1); $binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($header['compression']), Chr(0x00), time(), Chr(0x00), Chr(3)); fwrite($fp, $binary_data, 10); $size = $header['compressed_size']; 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['crc'], $header['size']); fwrite($fp, $binary_data,8); fclose($fp); $gzp = @gzopen($to.$header['filename'].'.gz','rb') or die("Cette archive est compress閑"); if(!$gzp) return(-2); $fp = @fopen($to.$header['filename'],'wb'); if(!$fp) return(-1); $size = $header['size']; 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['filename'], $header['mtime']); @unlink($to.$header['filename'].'.gz'); } } $this->total_files ++; echo "<input name='dfile[]' type='checkbox' value='$to$header[filename]' checked> <a href='$to$header[filename]' target='_blank'>文件: $to$header[filename]</a><br>"; return true; } // end class } set_time_limit(0); if ($_POST['password'] != $password) die("输入的密码不正确,请重新输入。"); if(!$_POST["todir"]) $_POST["todir"] = "."; $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[tmp_name])){ $have_zip_file = 1; echo "<br>正在解压: <input name='dfile[]' type='checkbox' value='$upfile[name]' ".($checked?"checked":"")."> $upfile[name]<br><br>"; if(preg_match('/\.zip$/mis',$upfile[name])){ $result=$z->Extract($upfile[tmp_name],$_POST["todir"]); if($result==-1){ echo "<br>文件 $upfile[name] 错误.<br>"; } echo "<br>完成,共建立 $z->total_folders 个目录,$z->total_files 个文件.<br><br><br>"; }else{ echo "<br>$upfile[name] 不是 zip 文件.<br><br>"; } if(realpath($upfile[name])!=realpath($upfile[tmp_name])){ @unlink($upfile[name]); rename($upfile[tmp_name],$upfile[name]); } } } clearstatcache(); start_unzip($_POST["zipfile"],$_POST["zipfile"],0); start_unzip($_FILES["upfile"][tmp_name],$_FILES["upfile"][name],1); if(!$have_zip_file){ echo "<br>请选择或上传文件.<br>"; } ?> <input name="password" type="hidden" id="password" value="<?=$_POST['password'];?>"> <input name="myaction" type="hidden" id="myaction" value="dodelete"> <input name="按钮" type="button" value="返回" onClick="window.location='<?=$_SERVER[PHP_SELF];?>';"> <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[i]; if(thiselm.name.match(/dfile\[]/)) thiselm.checked = !thiselm.checked; } } } alert('完成.'); </script> <? elseif($_REQUEST["myaction"]=="dodelete"): set_time_limit(0); if ($_POST['password'] != $password) die("输入的密码不正确,请重新输入。"); $dfile = $_POST["dfile"]; echo "正在删除文件...<br><br>"; if(is_array($dfile)){ for($i=count($dfile)-1;$i>=0;$i--){ if(is_file($dfile[$i])){ if(@unlink($dfile[$i])){ echo "已删除文件: $dfile[$i]<br>"; }else{ echo "删除文件失败: $dfile[$i]<br>"; } }else{ if(@rmdir($dfile[$i])){ echo "已删除目录: $dfile[$i]<br>"; }else{ echo "删除目录失败: $dfile[$i]<br>"; } } } } echo "<br>完成.<br><br><input type='button' value='返回' onclick=\"window.location='$_SERVER[PHP_SELF]';\"><br><br> <script language='javascript'>('完成.');</script>"; endif; ?> </form> </body> </html>
      • 2018年-5月-24日
      • 5674 阅读
      • 2 评论
      代码教程
    • 让灵魂放暑假,来自2007年11月舍力QQ日志 2018-5-19
      让灵魂放暑假,来自2007年11月舍力QQ日志 今天有网友翻出了舍力2007年的QQ日志,顺便发出来让大家欣赏一下10多年前的文采。 我的灵魂 躲在寂寞的角落 听着油蛉的浅唱 泪倾如雨 为什么广阔的天空 拒绝一对飞翔的翅膀 轻轻地走出去 走进无边的黑暗和迷茫 数着星星 寻找温暖的足迹 怀念那双沾满露水的鞋子 曾经走过野花遍地 一直向前 把沉重的躯壳丢在恐怖疯狂的旷野 诱惑贪婪的野狼 逃不脱欲望的追逐 冰冷地被撕扯进狼腹 我想抓住狼的灵魂 为了一个美丽的传说 憔悴于荒原和山巅 把灵魂推向绝谷 离世的一瞬 最灿烂的微笑 留给红尘恋人 请记住灵魂的陨落 清晨永远从子夜开始 站在天的尽头 敲打一块黑色的陨石 煮熟的躯壳 在熹微中轻舞而笑 把心放在心里面 振动飞翔的翅膀 无论高山还是海洋 是不死的鸟 是奔腾的波 和岁月同春 
      • 2018年-5月-19日
      • 6798 阅读
      • 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[2]);?>" rel="canonical" /> <?php }?> <?php if($record){?> <link href="<?php echo Url::record($params[2]);?>" rel="canonical" /> <?php }?> 如需301请参考文章《解决Emlog博客程序伪静态后URL不是唯一地址的教程》
      • 2018年-5月-19日
      • 11992 阅读
      • 2 评论
      Emlog教程
    • 防止火车头等采集器采集的一些简单方法分享 2018-5-4
      防止火车头等采集器采集的一些简单方法分享 舍力自己也用采集器采集过文章的,所以对网站防采集有一些心得体会,今天就给大家分享一些采用动态不规则的html标签防止采集的方法 随机代码: <?php echo dechex(rand(1,888888));?> 舍力分析:如果css中用[.sheli]来确定参数,那么<div class="sheli">与<div class="slsj sheli">对于页面显示效果一样,但是作为采集器的标记就是两个不同标记了,如果每次页面的html标签内空格数随机,那么采集规则 就失效了。但是,这对搜索引擎爬虫没多大影响。  操作方法:将循环的div中calss最前面加入随时代码,要注意空格;例如 <div class="<?php echo dechex(rand(1,888888));?> sheli"> 适合网站:所有PHP动态且不想遵守网页设计规范的网站。 温馨提示:舍力提供的这个方法也只是给采集器增加一些困难,高手还是能采集到你网站的数据的。
      • 2018年-5月-4日
      • 10233 阅读
      • 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日
      • 13586 阅读
      • 4 评论
      代码教程
    • PHP str_replace替换多个字符串代码 2018-4-28
      PHP str_replace替换多个字符串代码 str_replace(array("需要替换的标签1","需要替换的标签2"),"替换后的参数","原标签")
      • 2018年-4月-28日
      • 7579 阅读
      • 1 评论
      代码教程
    • PHP使用strip_tags()去除html标签后代码仍有空白的解决方法 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博客。qwertyuiop[]asdfghjkl;'\zxcvbnm,./
      • 2018年-4月-24日
      • 8151 阅读
      • 6 评论
      代码教程
    • Emlog获取指定多个标签下的文章代码分享 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['gid']);?>" title="<?php echo $value['title'];?>" target="_blank"><?php echo $value['title'];?></a></li> <?php }?> 舍力只提供代码调用,css方面的知识这里不普及,使用本教程必须注意标签是否存在,否则会出错。有疑问请在本页留言。 相关阅读:EMLOG获取某个标签名及下面的所有文章的方法
      • 2018年-4月-12日
      • 8690 阅读
      • 3 评论
      Emlog教程
    • 7
    • 8
    • 9
    • 10
    • 11
    博主栏壁纸
    博主头像 舍力

    用心做好每一件事!

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