月份: 2014-12

❤收藏到百度云

❤收藏到百度云方法

javascript:void (function(d) {var e = d.createElement('script');e.byebj=true;e.src = 'http://s.wenzhang.baidu.com/js/pjt/content_ex/page/bookmark.js?s=bm&t=' + (+new Date());var b = d.getElementsByTagName('body')[0];b.firstChild ? b.insertBefore(e, b.firstChild) : b.appendChild(e);}(document));

拖动 ❤收藏到百度云  到 浏览器书签

添加到百度搜藏

javascript:u=location.href;t=document.title;t=t.substr(0,76);c=""+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);c=c.substr(0,180);location="http://cang.baidu.com/do/add?it="+encodeURIComponent(t)+"&iu="+encodeURIComponent(u)+"&dc="+encodeURIComponent(c)+"&fr=ieo";void 0

把上边代码 添加到书签,点击,可以方便吧当前网页添加到百度收藏夹

添加到百度搜藏 拖到浏览器书签位置,点击,可以方便吧当前网页添加到百度收藏夹

Discuz!无法安装的解决方案(数据库原因MySQL5.5)

Discuz 在数据库MySQL5.5环境下,无法安装。

问题是 Discuz 使用的是老版本的MySQL。

由于新版的MySQL中使用ENGINE并放弃了TYPE函数,因此您需要按照以下步骤来安装Discuz!

    1、 将程序解压并上传至服务器;

    2、 用文本编辑器或其他编辑软件打开/install/data/install.sql文件;

    3、 将其中所有的TYPE=替换为ENGINE=;

    4、 在浏览器运行安装文件。

这样您就能顺利安装Discuz了。

php页面判断是 iphone还是andriod的浏览器

<?php  
  
    $agent = strtolower($_SERVER['HTTP_USER_AGENT']);   
    $iphone = (strpos($agent, 'iphone')) ? true : false;   
    $ipad = (strpos($agent, 'ipad')) ? true : false;   
    $android = (strpos($agent, 'android')) ? true : false;   
    if($iphone || $ipad)  
    {  
        echo  <<<END  
        <script>alert('iphone or ipad')</script>  
END;  
    }   
    if($android){  
        echo "<script>alert('android')</script>";  
    }  
?>

Office2003.iso简体中文完整版免费下载

Microsoft Office 2003 是一套由微软公司开发的办公软件。
Microsoft office 2003包含下列组件:      
Microsoft Office Word 2003 文档
Microsoft Office Excel 2003 工作簿
Microsoft Office powerpoint 2003 幻灯片
Microsoft Office Access 2003 数据库
Microsoft Office Outlook 2003 邮件  
Microsoft Office OneNote 2003 笔记
Microsoft Office FrontPage 2003 网页
Microsoft Office InfoPath 2003 表单
Microsoft Office Publisher 2003 出版物
Microsoft Office Visio 图表

Microsoft Office Project 项目


Office2003.iso下载地址:http://pan.baidu.com/s/1gdEeuMR

下载后用rar工具解压,运行setup.exe 文件即进行安装。

如果需要用office2003打开高版本的office需要安装office-2003-2007_兼容包

office-2003-2007_兼容包.rar 下载地址:http://pan.baidu.com/s/1ntqR2Mt





解压工具rar_winrar5-无广告-免注册.exe

winrar是一个比较老的解压软件了,现在在网上下的很多rar解压都有广告,有弹出。每次用的时候很烦人。

这个是以前下载的,整理老电脑发现的,没有弹出,没有广告,使用很安心。

好东西就要拿出来和大家分享一下。

winrar5-无广告-免注册.exe 下载地址:http://pan.baidu.com/s/1mgFqeqG

rar功能简介
    WinRAR 是一款功能强大的压缩包管理器,它是档案工具RAR 在 Windows 环境下的图形界面。Winrar可以让你根据需要,将压缩后的文件保存为ZIP或RAR的格式,而压缩时间根据压缩程度的不同,可以自行调整。使用广泛,界面友好,使用方便,在压缩率和速度方面都有很好的表现。

php 素数

我在这里列举几种方法,仅供参考,学习php编程的思路。
方法一:判断素数的办法是用1到某个数之间的所有数去除这个数,如果能够整除这个数的数超过2个那么这个数就不是素数,反之如果能够整除这个数的数只有1个或者2个,那么他就是素数.

<?php
$n = 1000;
echo $n . "以内的素数:";
for ($m = 2; $m <= $n; $m++) { //第一层循环,循环1-$n直接的所有数
    $k = 0; //计数器初始化
    for ($i = 1; $i <= $m; $i++) { //第二层循环,循环1-$m直接的所有数,$m属于区间【1,$n】
        if ($m % $i == 0) { //取模运算,如果余数为0,K自增1
            $k++;
        }
    }
    if ($k == 2) { //如果k的值等于1或者2,那么是素数,将其输出
        echo $m . "-";
    }
}
?>

方法二:判断素数的办法是除了1和本身外,有其它能够整除这个数的数,那么这个数就不是素数

<?php

$isPrime = true;
$n = 1000;
echo $n . "以内的素数:";
for ($i = 2; $i < $n; $i++) { //第一层循环,循环1-$n直接的所有数
    for ($j = 2; $j <= intval(sqrt($i)); $j++) { //第二层循环,$i开平方,这里的intval是10进制取整数的意思
        if ($i % $j == 0) { //取模运算,如果余数为0,输出$isPrime=false,并跳出第二层循环
            $isPrime = false;
            break;
        }
        $isPrime = true;
    }
    if ($isPrime) { //如果$isPrime=true,将$i输出
        echo $i . " ";
    }
}
?>

方法三:这个方法其实和方法二差不多,思路是同一个,实现的代码不同。

<?php
$ss = 2;
//声明变量$ss,赋初值为最小的素数
$max = 1000;
//声明变量$max,赋值为最大的范围
$arr = array();
//声明一个数组$arr
echo $max . '以内的素数为:';
while ($ss < $max) {
    //判断变量是否在允许的范围内
    $boo = false;
    //声明一个布尔变量$boo,初值为false
    foreach ($arr as $value) {
        //使用foreach语句遍历$arr数组
        if ($ss % $value == 0) {
            //如果变量$ss 能够被数组元素整除
            $boo = true;
            //将布尔变量赋值为true
            break;
        }
    }
    if (!$boo) {
        //判断变量$boo值
        echo $ss . ' ';
        //如果$boo为假,则说明当前变量$ss为素数,输出素数
        $arr[count($arr)] = $ss;
    }
    $ss++;
}
?>

利用Data URL(data:image/jpg;base64,)加速网页加载的方法

利用Data URL(data:image/jpg;base64,)base64形式存储图片,将小图片生成数据流形式

先来看下下边这段代码:

<img src=”data:image/gif;base64,R0lGODlhJQAlAJECAL3L2AYrTv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgACACwAAAAA
JQAlAAACi5SPqcvtDyGYIFpF690i8xUw3qJBwUlSadmcLqYmGQu6KDIeM13beGzYWWy3DlB4IYaM
k+Dso2RWkFCfLPcRvFbZxFLUDTt21BW56TyjRep1e20+i+eYMR145W2eefj+6VFmgTQi+ECVY8iG
xcg35phGo/iDFwlTyXWphwlm1imGRdcnuqhHeop6UAAAIfkEBQoAAgAsEAACAAQACwAAAgWMj6nL
XAAh+QQFCgACACwVAAUACgALAAACFZQvgRi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwXABEA
DAADAAACBYyPqcsFACH5BAUKAAIALBUAFQAKAAsAAAITlGKZwWoMHYxqtmplxlNT7ixGAQAh+QQF
CgACACwQABgABAALAAACBYyPqctcACH5BAUKAAIALAUAFQAKAAsAAAIVlC+BGL3Z3IlxUmUuhtR2
LzHhsiEFACH5BAUKAAIALAEAEQAMAAMAAAIFjI+pywUAIfkEBQoAAgAsBQAFAAoACwAAAhOUYJnA
agwdjGq2amXGU1PuLEYBACH5BAUKAAIALBAAAgAEAAsAAAIFhI+py1wAIfkEBQoAAgAsFQAFAAoA
CwAAAhWUL4AIvdnciXFSZS6G1HYvMeGyIQUAIfkEBQoAAgAsFwARAAwAAwAAAgWEj6nLBQAh+QQF
CgACACwVABUACgALAAACE5RgmcBqDB2MarZqZcZTU+4sRgEAIfkEBQoAAgAsEAAYAAQACwAAAgWE
j6nLXAAh+QQFCgACACwFABUACgALAAACFZQvgAi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwB
ABEADAADAAACBYSPqcsFADs=
“>

其实“data:image/gif;base64,R0lGODlhJ……” 就是一张图片的Data URL,就是利用base64编码把图片数据翻译成标准ASCII字符。
等同于:

<img src=”http://www.lrxin.com/images/loading.gif”>

显示结果:

Data URL它现将图片转换成base64编码,以文本的形象随着文件加载。
再由浏览器在本地直接绘制图片,不是从服务器加载,所以节省了HTTP连接,起到加速网页的作用。

语法:
data:image/jpg;    声明数据协议及类型名称
base64,               编码形式为base64
/9j/4AAQSkZ……    base64编码结果

最后附上Data URL的生成方法(PHP):

<?php 
//php读取和保存base64编码的图片内容
header('Content-type:text/html;charset=utf-8'); 
//读取图片文件,转换成base64编码格式
//$image_file = './loading.gif'; 
$image_file = 'http://www.lrxin.com/images/loading.gif'; 
$image_info = getimagesize($image_file); 
$base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($image_file)));
?>

<img src="<?php echo $base64_image_content;?>" />

需要注意:本方法适合于小图片,大图片就不要考虑了,另外IE8以下浏览器不支持这种方法。
用这种方法会加重客户端的CPU和内存负担,总之有利有弊。
IE8 之前的浏览器不支持 Data URL

在线生成工具:
http://www.greywyvern.com/code/php/binary2base64
http://www.kawa.net/works/js/data-scheme/base64-e.html

简单的说,data类型的Url大致有下面几种形式。

data:,<文本数据>
data:text/plain,<文本数据>
data:text/html,<HTML代码>
data:text/html;base64,<base64编码的HTML代码>
data:text/plain;charset=UTF-8;base64,<base64编码的HTML代码>
data:text/css,<CSS代码>
data:text/css;base64,<base64编码的CSS代码>
data:text/javascript,<Javascript代码>
data:text/javascript;base64,<base64编码的Javascript代码>
data:image/gif;base64,<base64编码的gif图片数据>
data:image/png;base64,<base64编码的png图片数据>
data:image/jpeg;base64,<base64编码的jpeg图片数据>
data:image/x-icon;base64,<base64编码的icon图片数据>

php读取和保存base64编码的图片内容

<?php 
//php读取和保存base64编码的图片内容
header('Content-type:text/html;charset=utf-8'); 
//读取图片文件,转换成base64编码格式
//$image_file = './loading.gif'; 
$image_file = 'http://www.lrxin.com/images/loading.gif'; 
$image_info = getimagesize($image_file); 
$base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($image_file)));



//保存base64字符串为图片 
//匹配出图片的格式 
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){ 
	$type = $result[2]; 
	$new_file = "./test.{$type}"; 
	if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){ 
		echo '新文件保存成功:', $new_file ,'<br/>'; 
	}
}
?>


<img src="<?php echo $base64_image_content;?>" />
<br/>
<textarea style="width:80%; min-height:300px;"><?php echo $base64_image_content;?></textarea>

css3选择器 – :nth-child()伪类选择器

css3:nth-child()伪类选择器

语法::nth-child(an+b)   

用途: :nth-child()伪类选择器可以很好的帮组我们选择列表中的特定标签。

支持: IE     Firefox     Chrome     Safari     Opera 所有主流浏览器均支持 :nth-child() 选择器,除了 IE8 及更早的版本。目前能较好地支持她的只有Opera9+和Safari3+。

下边结合例子,由浅入深,具体讲解。

第一种:简单数字序号写法,匹配第n个元素。
语法: :nth-child(n)
说明: 参数n必须为大于0的整数。直接匹配第n个元素。

例子:

li:nth-child(3){background:orange;}/*把第3个LI的背景设为橙色*/

———————华丽的分割线———————

第二种:倍数写法,匹配所有倍数为a的元素。
语法: :nth-child(an)
说明: 匹配所有倍数为a的元素。其中参数an中的字母n不可缺省,它是倍数写法的标志,如3n、5n。

例子:

li:nth-child(3n){background:orange;}/*把第3、第6、第9、…、所有3的倍数的LI的背景设为橙色*/

———————华丽的分割线———————

第三种:倍数分组匹配
语法: :nth-child(an+b) 与 :nth-child(an-b)

说明: 先对元素进行分组,每组有a个,b为组内成员的序号,其中字母n和加号+不可缺省,位置不可调换,这是该写法的标志,其中a,b均为正整数或0。如3n+1、5n+1。但加号可以变为负号,此时匹配组内的第a-b个。(其实an前面也可以是负号,但留给下一部分讲。)

例子:

li:nth-child(3n+1){background:orange;}/*匹配第1、第4、第7、…、每3个为一组的第1个LI*/

li:nth-child(3n+5){background:orange;}/*匹配第5、第8、第11、…、从第5个开始每3个为一组的第1个LI*/

li:nth-child(5n-1){background:orange;}/*匹配第5-1=4、第10-1=9、…、第5的倍数减1个LI*/

li:nth-child(3n±0){background:orange;}/*相当于(3n)*/

li:nth-child(±0n+3){background:orange;}/*相当于(3)*/

———————华丽的分割线———————

第四种:反向倍数分组匹配
语法: :nth-child(-an+b)

说明: 此处一负一正,均不可缺省,否则无意义。这时与:nth-child(an+1)相似,都是匹配第1个,但不同的是它是倒着算的,从第b个开始往回算,所以它所匹配的最多也不会超过b个。

例子:

li:nth-child(-3n+8){background:orange;}/*匹配第8、第5和第2个LI*/

li:nth-child(-1n+8){background:orange;}/*或(-n+8),匹配前8个(包括第8个)LI,这个较为实用点,用来限定前面N个匹配常会用到*/

———————华丽的分割线———————

第五种:奇偶匹配
语法: :nth-child(odd) 与 :nth-child(even)

说明: 分别匹配序号为奇数与偶数的元素。奇数(odd)与(2n+1)结果一样;偶数(even)与(2n+0)及(2n)结果一样。

正则表达式测试器RegexTest, 一个可视化的正则表达试测式工具.

正则表达式测试器RegexTest, 一个可视化的正则表达试测式工具.


下载地址:http://pan.baidu.com/s/1jGrD0Om

一个jQuery的日期美化插件-prettydate.js

一个jQuery的日期美化插件-prettydate.js

下载地址:

一个jQuery的日期美化插件-prettydate.js

http://pan.baidu.com/s/1s96FG

Pretty Date
一个jQuery的日期美化插件。

他可以把日期美化成 “刚刚”,“5秒前”,“3分钟前”,“一小时前”,“n周前”,“5个月前”,“3年后”,“昨天”,“前天”, “明天”,“后天”等形式。
让时间显示更生动。

安装:
引用js文件

<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script><!-- jQuery is required -->
<script src="js/prettydate.js"></script>

基础

用法:
1.在html标签中加入 prettydate 属性
1.1基础
HTML:

<span prettydate>Jan 01 2014</span>

Demo:
11 months ago


1.2使用 data-* 属性添加设置
HTML:

<span prettydate data-date-format="YYYY.M.D h:m:s">2020.1.1 20:20:11</span>

Demo:
5 years later

2.使用 $.fn.prettydate方法初始化
2.1基础
HTML:

<span class="prettydate">Nov 11 2011 11:11:11</span>

Javascript:

$(".prettydate").prettydate();

Demo:
3 years ago


2.2 添加设置
HTML:

<p id="prettydate-add-options"></p>

Javascript:

$("#prettydate-add-options").prettydate({
    date: (new Date()).getTime() + (24 * 60 * 60 * 1000) // Tomorrow
});

Demo:
Tomorrow

——————–
3.参数配置
局部配置参数使用: $(“#target”).prettydate(options);
全局配置参数使用: $.fn.prettydate.setDefaults(options);
数据属性方式配置: data-*  例如:data-date-format=”YYYY.M.D h:m:s”

参数:

名称 类型 默认值 描述
afterSuffix string “later”  
beforeSuffix string “ago”  
autoUpdate boolean false 自动更新,当时间更新后,自动更新。
date object / number / string null 日期数据 ,允许日期对象,日期数量(毫秒),有效日期字符串或自定义日期字符串的日期格式。
dateFormat string “YYYY-MM-DD hh:mm:ss” 日期格式。
duration number 60000 自动更新时间周期 (以毫毛为单位)
messages object (as follows) 美化格式配置(详细讲下边)

4.方法
美化,或者 再次更换日期视图。
用法:$(“#target”).prettydate(“prettify”);

销毁,从元件破坏prettydate实例
用法:$(“#target”).prettydate(“destroy”);


—————————————
全局配置中文例子:

// zh-CN
$.fn.prettydate.setDefaults({
    afterSuffix: "后",
    beforeSuffix: "前",
    dateFormat: "YYYY-MM-DD hh:mm:ss",
    messages: {
        second: "刚刚",
        seconds: "%s秒%s",
        minute: "一分钟%s",
        minutes: "%s分钟%s",
        hour: "一小时%s",
        hours: "%s小时%s",
        day: "一天%s",
        days: "%s天%s",
        week: "一周%s",
        weeks: "%s周%s",
        month: "一个月%s",
        months: "%s个月%s",
        year: "一年%s",
        years: "%s年%s",
        yesterday: "昨天",
        beforeYesterday: "前天",
        tomorrow: "明天",
        afterTomorrow: "后天"
    }
});

自动更新例子:
HTML:

span id="prettydate-auto-update"></span>

JavaScript:

$("#prettydate-auto-update").prettydate({
    autoUpdate: true,
    date: new Date(),
    duration: 1000
});

Demo:
One minute ago

解决微信内置浏览器上传图片-html5将图片转换base64进行上传

有些安卓的微信浏览微网站,不能通过file上传文件、图片,但是ios系统的都是可以上传图片。

传统的通过 $_FILES 方式上传在微信浏览器下失败。
这里可以换个思路:
    我们可以先现将图片转成base64的字符,在把字符通过POST方式上传给服务器,在服务器端把POST过来的base64字符,还原出图片保存在服务,完成图片上传过程。

html5有个功能就可以将图片转换base64,那就是FileReader。

实现:

function readFile(obj){ 
        var file = obj.files[0]; 	
        //判断类型是不是图片
        if(!/image\/\w+/.test(file.type)){   
                alert("请确保文件为图像类型"); 
                return false; 
        } 
        var reader = new FileReader(); 
        reader.readAsDataURL(file); 
        reader.onload = function(e){ 
                alert(this.result); //就是base64
 
        } 
} 

<input type="file"  id="picFile" onchange="readFile(this)" /> 

什么才是好的设计

今天为大家分享一些Good UI 在一些项目中获取的设计以及运营策略等方面的经验。

这是本人收藏了很久的干货,最近开始做网站产品,又把它翻出来了。

Good UI是一家研究用户体验的设计机构。我们知道成功的页面设计不仅有很高的转化率更便于用户使用,既能满足商业目标更能为用户带来良好的体验。


1.用通栏布局代替多栏布局

2. 给用户些好处,别急着做生意

3. 整合相似的功能,去掉零碎的UI元素

4.利用社会认同效应,别总是自吹自擂

5.主要功能需要多次强化显示

6.区分选中和可点击的状态,不要使用户困惑

7.布局有层次有重点,而非简单罗列

8. 允许用户撤销操作而不是使用弹窗需要用户确认

9. 明确的告知用户适用人群而不是简单的面向所用用户

10.简洁明了,直接了当

11.页面上多使用对比的方法


12.直接标出产地,别总单纯的讲历史


13.使用简洁的表单


14.把选项列出来而不是藏起来


15.使用连续性的提示符,别让用户误以为页面到了终点


16.功能专一而不是使用太多的链接


17.提示体统状态


18.在动作按钮上增加些吸引人的诱惑


19.用直接操作来代替无数个菜单


20.直接显示输入框可以省略一个页面


21.用一些动效过度而不用立即显示变化


22.循序渐进的引导用户而非生硬的要求用户注册


23.试着减少线框,减少不必要的注意


24.向用户展示功能上的便捷之处而不是泛泛的展示特性


25.用户没有使用记录的时候要善于引导


26.给出默认的选项而不需要用户选择


27.保持一致性降低用户的学习成本


28.自动补全一些数据,降低用户的操作负担


29.尊重用户的使用习惯而不是创造新的规则


30.提示用户如何规避风险,而不是总想着如何获利


31.善于引导用户的视觉浏览线,而非单一布局


32. 将相关的条目分组,不要杂乱无章的排列


33.采用及时校验而不是到最后才提示错误


34.需要用户输入的格式宽松严格限定格式


35.让用户有一些紧急的意识,别让用户拖得太久


36. 适当尝试饥饿营销


37. 帮助用户识别


38. 使用更大的点击区域


39. 增加加载的速度,别让用户等太久


40. 可以给用户提供一些快捷操作


41. 使用一些对比


42. 初始化的时候给用户一些激励


43.循序渐进地引导用户,不要简单粗暴地直接呈现给用户

来自:简书

作者:产品小妖

微信订阅号【产品小妖】
新浪微博号@产品小妖Bebe

链接:http://www.jianshu.com/p/2d1c9d8d55a7