Web-Capture在线网页截图抓取整张页面

作者:matrix 发布时间:2015-06-27 分类:零零星星

Web-Capture在线网页截图抓取整张页面

有些在线截图无法获取到整张页面,只有半截。Web-Capture可以抓取完整的网页截图

http://web-capture.net/

使用:

Enter the URL of the page you want to capture 输入你想抓取的网页地址

Choose the file format you want 选择抓取保存的文件格式。图片一般就是jpeg的就行

JPEG image、PDF file、TIFF image、BMP image、PNG image、Postscript file (PS)、SVG file

点击Capture Web Page进行截图。截图完成后会调转到一个页面,可以view查看,下载图片或者zip文档

Web-Capture在线网页截图抓取整张页面2
类似的网站还有page2images.com,它的好像不能截取整张图片,但是能选择移动端的UA。
参考:

https://free.com.tw/Web-Capture/

http://www.ldsun.com/1053.html

正确OpenWeiPN GUI上网姿势

作者:matrix 发布时间:2015-06-23 分类:兼容并蓄

使用WeiPN Gate Client高科技上网的时候发现还有OpenVPN配置文件这种东东。没明白怎么用就查了查。原来还有个比较不错的上网选择,使用OpenWeiPN GUI。

OpenWeiPN GUI下载

官网http://openvpn.net/index.php/open-source/downloads.html
百度网盘http://pan.baidu.com/s/1FbrzC

使用

1.安装完成OpenWeiPN
2.找到软件安装目录下的config文件夹
README.txt
This directory should contain OpenVPN configuration files
each having an extension of .ovpn

When OpenVPN is started as a service, a separate OpenVPN
process will be instantiated for each configuration file.
意思就是喊你把.ovpn文件放置在此目录(config文件夹)

3.获取.ovpn文件
如果你有的话那就好,没有就请选择合适的上网地点:http://130.158.6.78/cn/
下载其对应的配置文件(.ovpn文件)到config文件夹。

4.打开软件OpenWeiPN GUI,最好请使用管理员权限运行
5.右键点击软件托盘图标选择好你的配置文件然后点击connect
右键点击软件托盘图标

怕是以后地址被qiang了,可以现在订阅他们的邮件。
http://130.158.6.78/cn/mail.aspx

参考:http://130.158.6.78/cn/howto_openvpn.aspx

PHP递归函数内的静态变量

作者:matrix 发布时间:2015-06-20 分类:兼容并蓄 零零星星

//静态变量的例子

/**
 * 将数组转换为字符
 *
 * 用于缓存
 *
 * @param $data
 * @return string
 */
function philnaArray2String($data, $returns = '')
{
    static $t = 1;
    $tabType = " ";
    $tab = str_repeat($tabType, $t);
    $data = (array)$data;
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $t++;
            $returns .= "$tab'" . $key . "' => array(\n" . philnaArray2String($value) . "$tab),\n";
        } else {
            if (!is_bool($value)) {
                $value = "'" . addslashes($value) . "'";
            }
            $returns .= "$tab'" . $key . "' => $value,\n";
        }
    }
    $returns = substr_replace($returns, '', -2, -1);
    return $returns;
}

说明:
上面php代码中的$t被static修饰,即为静态变量
静态变量在函数执行完毕后不会释放,会继续累加下去
赶脚非常合适在递归函数中用

参考:http://blog.csdn.net/shaerdong/article/details/8545874

win和linux的php异或运算结果不同

作者:matrix 发布时间:2015-06-17 分类:兼容并蓄 零零星星

一个获取key的函数(模拟js的php代码)在本地测试成功,而在服务器上失败。
逐行die()之后发现问题在于$b ^=4294967295;之前获取的$b都没问题,可到了这里就结果完全不一样。

win

<?php
$a = -38622 72608;
$b = 471468;
$c = $a ^ $b;
echo $c;
//Q1:
//本地这是5.2.14的php,Win,显示432886796;
//服务器上5.2.14的php,linux,显示-3862080500;
//Q2:如果将^ 换成xor
//本地显示-3862272608
//服务器显示-3862272608
?>

真是狗日的xor仙人板板。为什么换成xor结果和^又不同。
难道xor不是异或。。。 😕

Q1:幸好我不是第一个发现。算是有答案:
php中一个整数能表示的范围是2147483647~-2147483647
在linux环境下,php整数溢出的时候,其结果是不可靠
php提供了GMP库进行精确计算大数据
如果你的php开启了GMP:gmp_xor()进行xor运算

Q2:无解
将^ 换成xor运算win和linux的结果都一样。但是为毛线它又和^的结果不同。。。
应该也是整数溢出吧。。。懒得想了

参考:
php异或运算的不可靠性
http://php.net/manual/zh/ref.gmp.php
http://bbs.csdn.net/topics/390566090

将BCS的bucket文件保存到本地[PHP]

作者:matrix 发布时间:2015-06-03 分类:兼容并蓄 零零星星

收到百度BCS 6月30日停服提醒邮件,说是要停止服务,请自重。让咱BCS迁移到BOS...

BCS的bucket是以前创建bae时设置的,保存了一些图片文件

怎样把云存储的文件备份到本地是一个问题啊。毕竟一个一个下载太麻烦,文件有些多。。。

BCS控制台:http://developer.baidu.com/console#app/project

打开BCS控制台可以查看你的bucket名称以及API Key 和Secret Key。如果里面的文件有点多,且你想保存下来

下载 :http://pan.baidu.com/s/1mgMhp92

使用说明:

请确保解压后有个空的TTSEE文件夹,它用来存放下载的文件

只能保存一个bucket里面的文件,bucket有多层文件夹应该(我没试过)能正常使用的。

//$bcsobj->list_object_by_dir($bucket,'/',$list_model = 2);

解压后配置好bcs/conf-inc.php参数:项目对应的AK 公钥和SK私钥(百度开发者中心里复制)

调用:127.0.0.1/download.php?bucket=bucket名称

php中用到了file_put_contents函数:

$file = file_get_contents('http://bcs.duapp.com/newbuck'.$objest);//读取远程文件
file_put_contents('TTSEE'.$objest,$file);//保存到同级TTSEE目录

参考:

http://www.cnblogs.com/m199/p/3450675.html

http://www.jb51.net/article/57127.htm

PS:
150710后续更新
把bcs文件下载到本地电脑后再上传到主机空间。
之后用sql语法批量替换旧url。

UPDATE wp_posts 
SET post_content = ( Replace (post_content, 'bcs.duapp.com/newbuck/', 'www.hhtjim.com/wp-content/uploads/2015/bcsfile/') )
WHERE Instr(post_content, 'jpeg') > 0 
 OR Instr(post_content, 'jpg') > 0 
 OR Instr(post_content, 'gif') > 0 
 OR Instr(post_content, 'png') > 0

参考:

在 WordPress 設定 HTTPS,強制使用 SSL 安全加密協定教學