2013-4-10 3952 0
软件

示例一:<?php//说明:获取完整URLfunctioncurPageURL(){$pageURL='http';if($_SERVER["HTTPS"]=="on"){$pageURL.="s";}$pageURL.="://";if($_SERVER["SERVER_PORT"]!="80"){$pageURL.=$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];}else{$pageURL.=$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];}return$pageURL;}?>定义该函数之后就可以直接调用了:<?phpechocurPageURL();?>上面的函数可以获取当前页面完整的URL,即你在浏览器地址栏看到的内容。但是,有时候我们不想要URL中的参数(?号后面的内容),如:http://www.hack001.com/hello.html?u=123,只想获取http://www.hack001.com/hello.html,你可以将以上函数做以下更改:示例二:<?php//说明:获取无参数URLfunctioncurPageURL(){$pageURL='http';if($_SERVER["HTTPS"]=="on"){$pageURL.="s";}$pageURL.="://";$this_page=$_SERVER["REQUEST_URI"];//只取?前面的内容if(strpos($this_page,"?")!==false)$this_page=reset(explode("?",$this_page));if($_SERVER["SERVER_PORT"]!="80"){$pageURL.=$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$this_page;}else{$pageURL.=$_SERVER["SERVER_NAME"].$this_page;}return$pageURL;}?>当然也可以采用$_SERVER['PHP_SELF'](该变量不返回URL中的参数),<?php//说明:获取无参数URLfunctioncurPageURL(){$pageURL='http';if($_SERVER["HTTPS"]=="on"){$pageURL.="s";}$pageURL.="://";if($_SERVER["SERVER_PORT"]!="80"){$pageURL.=$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER['PHP_SELF'];}else{$pageURL.=$_SERVER["SERVER_NAME"].$_SERVER['PHP_SELF'];}return$pageURL;}?>另外,$_SERVER['REQUEST_URI']和$_SERVER['REQUEST_URL']是有稍微区别的:$_SERVER["REQUEST_URI"]返回完整的路径(/directory/file.ext?query=string)$_SERVER['REQUEST_URL']只返回文件路径,不包括参数,(/directory/file.ext),和$_SERVER['PHP_SELF']差不多,只不过在有些服务器上$_SERVER['REQUEST_URL']不可用!注意:URL使用rewrite规则的时候,$_SERVER['PHP_SELF']和$_SERVER["REQUEST_URL"]可能不会返回你想要的东西最后提醒一点,$_SERVER["REQUEST_URI"]只有apache才支持,想要一个获取$_SERVER['REQUEST_URI']值的通用解决方案,可以使用以下方案:<?php//说明:获取_SERVER['REQUEST_URI']值的通用解决方案//来源:drupal-5.1bootstrap.inc//整理:http://www.codebit.cn/pub/html/php_mysql/tip/other/request_urifunctionrequest_uri(){if(isset($_SERVER['REQUEST_URI'])){$uri=$_SERVER['REQUEST_URI'];}else{if(isset($_SERVER['argv'])){$uri=$_SERVER['PHP_SELF'].'?'.$_SERVER['argv'][0];}else{$uri=$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];}}return$uri;}?>

2013-4-2 3243 0
2013-1-18 3624 0
软件

今日需要用批处理备份网站数据,写了个批处理,给网站数据打包,然后用winrar压缩成当前日期为文件名的rar压缩包,结果winrar在命令行压缩刚开始就弹出个评估版本,在网上找了下注册的解决方法,活动注册版,结果发现在执行命令行的时候还是在那卡着将近1分钟才开始执行,不知道是rar在扫描文件消耗了时间还是怎么回事,以前没有出现这种情况的,想在网上下个破解版的rar。但是装服务器里我觉得太不安全了,比较破解版的东西未执行太大,没办法,那就只有找下类似的压缩软件凑合着用吧。大致看了下,支持命令行的软件并不多,主流的也就那几个,分别为:winrar,winzip,7z,国内的有好压等,具体软件怎么样,只能说是各有千秋,呵呵。由于我是想用命令行执行压缩命令,但是winrar又不能用,那就只能在7z和好压中选择了。好压简单的看了下,发现是支持命令行的,但是命令行不是很强大,而且国内软件的技术水准也有点。。呵呵。好压的命令行不是很强大,好在7z也和好压一样是免费的,以前只是偶尔见到7z,但是用的时候并不多,访问了7z的官方网站发现,官方网站还不错,百度搜索“7z”就可以看到官方网站了7z.sparanoid.com下载了一个,文件是exe的,大小1M,安装顺利轻巧,安装后没有发现关联任何格式的文件,也没有出现桌面快捷方式,更没有绑定小广告之类的,呵呵。这让我再一次觉得7z确实不错,至少我觉得它很友善。再就是使用7z的命令行了,基本上和winrar的很相近,使用入手就简单了许多。这里就不发布下载地址了,大家如有需要可以去官方网站下载去。后记:后又研究了下自己的批处理为什么错误没执行,才发现自己在改变文件路径的时候cd命令没有加/d参数。哎,惭愧,书读少了。。cd/dC:\ProgramFiles\7-Zip7zaD:\rar\%date:~0,4%%date:~5,2%%date:~8,2%.rarD:\bak以上命令的意思是进入7z目录,把bak里面的备份数据压缩到rar中,以当前日期为文件名。就是因为cd/dC:\ProgramFiles\7-Zip没有加/d参数导致批处理执行没有成功,嘿嘿,解决了,睡觉。