OPENVZ下的CENTOS6.x安装WINDOWS2003

准备:
WIN2003的ISO:2K3IE8_SATA_20131106.ISO 下载地址:http://pan.baidu.com/s/1mgjZi7u
TightVNC

第一步:安装qemu-img,建立磁盘镜像

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum install qemu-img
qemu-img create -f qcow win2003.img 30G

第二步:安装qemu,建立虚拟机

yum install mesa-libGL SDL bluez-libs esound-libs
rpm -ivh ftp://ftp.pbone.net/mirror/apt.sw.be/redhat/el6/en/x86_64/extras/RPMS/qemu-0.15.0-1.el6.rfx.x86_64.rpm 
qemu -cdrom 2K3IE8_SATA_20131106.ISO -m 1024M -boot d win2003.img -vnc :1 -daemonize

这里的-vnc :1 下面就用5901,如果是:2就是5902,依此类推

第三步:远程操作虚拟机,安装系统
使用tightvnc连接 xx.xx.xx.xx::5901 (这里是主机的IP)

以后启动:

qemu -hda win2003.img -boot c -m 1024M -k de -usb -redir tcp:3389::3389

LINUX脚本去除PHP末尾的闭合标签,避免莫名的空字符

PHP文件比较多的情况下,有时候不知道为什么就多出空格,可能会影响COOKIE不能写等等情况。

这个LINUX脚本可以去除PHP末尾的闭合标签,避免莫名的空字符

#!/bin/bash
# vim:ft=sh:ts=3:sts=3:sw=3:et:

###
# Strips the closing php tag `?>` and any following blank lines from the
# end of any PHP file in the current working directory and sub-directories. Files
# with non-whitespace characters following the closing tag will not be affected.
#
# Author: Bryan C. Geraghty <bryan@ravensight.org>
# Date: 2009-10-28
##

FILES=$(pcregrep -rnM --include='^.*\.php$' '^\?\>(?=([\s\n]+)?$(?!\n))' .);

for MATCH in $FILES;
do
   FILE=`echo $MATCH | awk -F ':' '{print $1}'`;
   TARGET=`echo $MATCH | awk -F ':' '{print $2}'`;
   LINE_COUNT=`wc -l $FILE | awk -F " " '{print $1}'`;
   echo "Removing lines ${TARGET} through ${LINE_COUNT} from file $FILE...";
   sed -i "${TARGET},${LINE_COUNT}d" $FILE;
done;

微信公众号上传图片IOS客户端压缩

背景:为了能够节省流量,打算在客户端进行图片压缩
以下都是基于IOS客户端,因为Android大部分都不支持选择图片或者拍照或者支持不太好(比如小米,呵呵),所以前置做了判断,仅限IOS上传图片

方案1:
方法:使用HTML5 Canvas的特性,生成一定压缩比的BLOB对象,AJAX提交到后台。
DEMO:BUG DEMO1
问题:拍照生成的图片被挤压,下半部分是黑色。

基于这个问题,进行疯狂的google,后来在stackoverflow上面找到相关讨论,大概原因是iOS6 Safari对超过百万像素的图片文件渲染不当,导致在canvas上面抽样(subsample)异常。不明觉厉,老外也给了一些解决方案,直接拿来参考了一下。

方案2:
方法:使用ios-imagefile-megapixel或者drawImageIOSFix(老外写的函数,借鉴前者)
DEMO:BUG DEMO2
还是有问题:本来竖着的图片,结果躺着了

追求完美的我,懂的不多就是会google,继续google之,找到了一个不错的解决方案

方案3(解决了问题):
方法:canvasResize,它先使用ios-imagefile-megapixel处理图片,然后用exif-js解决图片翻转的问题。依然不明觉厉……
DEMO:完成 DEMO