JS实现页面打印

平时经常用到,所以收集整理一下,方便备查!

1、js实现(可实现局部打印)

打印的实现1:

<!--打印的实现1:start-->  
  
<input id="btnPrint" type="button" value="打印" onclick="javascript:window.print();" />  
  
<!--将不需要打印的部分,标记为 class="noprint" -->  
<style type="text/css" media=print>  
.noprint{display : none }  
</style>  
<p class="noprint">不需要打印的地方</p>  
<p>打印的部分</p>  
  
<!--打印的实现1:end-->

阅读剩余部分 ...

Linux的bg和fg命令简单介绍

我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux 提供了 fg 和 bg 命令,让我们轻松调度正在运行的任务。

假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示(方括号中的是作业号):

[1]+ Stopped /root/bin/rsync.sh

然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)

#bg 1
[1]+ /root/bin/rsync.sh &

用 jobs 命令查看正在运行的任务:#jobs

[1]+ Running /root/bin/rsync.sh &

如果想把它调回到前台运行,可以用 

#fg 1
/root/bin/rsync.sh

这样,你在控制台上就只能等待这个任务完成了。

阅读剩余部分 ...

解决PHP后端生成的图片无法使用CDN缓存的方法

最近对公司的APP进行优化,首要解决的是图片展示的问题,之前都是原图展示,很耗流量和内存,其次也影响请求的时间。所以决定采用压缩图片。

服务端通过PHP动态的对图片进行压缩和裁剪,客户端提供相应的参数就可以获取到对应的图片了。

但是有个问题,我们的图片走了CDN的,如果动态的生成图片,往往就无法利用CDN了。

后来再网上搜集了一些资料,最终如下解决:

$last_modified_time = filemtime($imgoath);
$etag = md5_file($imgoath);
// always send headers
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");
header("Etag: $etag");
// exit if not modified
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) 
        && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time 
        || trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {
    header("HTTP/1.1 304 Not Modified");
    exit;
}

$put = file_get_contents($imgoath);
header("Content-type: image/jpg");
echo $put;

阅读剩余部分 ...

git之https或http方式设置记住用户名和密码的方法

https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速

设置记住密码(默认15分钟):

git config --global credential.helper cache

如果想自己设置时间,可以这样做:

git config credential.helper 'cache --timeout=3600'

这样就设置一个小时之后失效

长期存储密码:

git config --global credential.helper store

增加远程地址的时候带上密码也是可以的。(推荐)

http://yourname:password@git.oschina.net/name/project.git

阅读剩余部分 ...

关于Apache的Rewrite的一点研究

背景

最近几天想把Mac上的Apache用起来,之前一直用的是Nginx,其对泛解析支持的非常方便友好。但是Apache的之前没有配置过,折腾了几天总算比较完美的解决了!

首先先解决在URL中去掉index.php,之前用的是.htaccess文件,里面的配置是网上找的,如下:

<Files .*>
        Order Deny,Allow
        Deny From All
</Files>
Options FollowSymLinks
RewriteEngine On
#RewriteBase /
RewriteRule ^(?:includes|sql)\b.* index.php/$0 [L]
RewriteCond ${REQUEST_URI} ^.+$
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|jpg|png|js|css|swf|php|ico|txt|pdf|map|xml|htm?)$ [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]
RewriteRule (.*) index.php/$1 [PT]

这个本来没什么问题,但是我把他写到httpd.conf配置里,就老是不成功。然后就想着看看错误日志是哪里出错了。

阅读剩余部分 ...