自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (8)
  • 收藏
  • 关注

原创 docker-compose 参数说明

docker-compose作为dokcer的官方编排工具,它可以让用户通过编写一个简单的模板文件,快速地创建和管理基于docker容器的应用集群。实现对docker容器集群的快速编排。我们知道Dockerfile模板文件,可以让用户很方便地定义一个单独的应用容器。然而在日常工作中,经常会遇到需要多个容器相互配合来完成某项任务的情况。例如要实现一个web项目,除了web服务器容器本身,往往还需要加上后端的数据库服务容器,甚至还包括负载均衡容器等。

2022-11-18 16:31:41 2145 1

原创 docker安装的ES和Kibana设置账号密码

ES安装后,默认是不开启用户名密码验证的,如果你的ES服务是部署在内网的话,不使用账号密码还不会有太大的安全隐患。但是如果,你的ES服务是暴露在外网环境的话,不设置账号密码肯定是非常不安全的,那如何开启用户名密码验证呢?...

2022-09-01 09:10:03 2511

原创 Nginx 变量参数

$args #请求中的参数值$query_string #同 $args$arg_NAME #GET请求中NAME的值$is_args #如果请求中有参数,值为"?",否则为空字符串$uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index

2022-03-11 10:40:49 1409

转载 python image.open 参数作用,python基础(python Image Library)

PIL基础介绍python Image Library也就是PIL库,是python用于图像处理的库,其中包含了常见基础的图像处理算法。PIL官网介绍PIL中有很多类,核心类型是Image,其中打开图片的函数就在Image中。from PIL import Imageimg = Image.open('test.jpg')print img.format, img.size, img.mode#JPEG (333, 351) RGBformat 属性指定了图像文件的格式,如果

2022-02-25 09:52:09 8512

原创 Python 通过URL打开图片

img_src = ‘https://i.ytimg.com/vi/Cn6Tw5Ilwo0/maxresdefault.jpg’1. OpenCV# OpenCV的imread()只能加载本地的图片,并不能通过网址加载图片。但是,opencv的VideoCapture类可以从url加载视频,如果只用opencv,可以先用VideoCapure加载网络图片,然后再传给Matimport cv2cap = cv2.VideoCapture(img_src)if( cap.isOpened() ) .

2022-02-25 09:50:05 3799

原创 常用的SQL语句

常用功能脚本导出整个数据库mysqldump -u 用户名 -p –default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqldump -u wcnc -p test > test.sql 导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p test users> users.sql 导出一个数据库结构

2021-11-22 09:36:14 189

原创 logging日志管理学习

logging使用方法一(模块级别函数basicConfig)日志级别有哪些?日志等级描述DEBUG最详细的日志信息,典型应用场景是 问题诊断INFO信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作WARNING当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的ERROR由于一个更严重的问题导致某些功能不能正常运行时记录的信息CRITICAL当发生严重错误,导

2021-09-13 10:00:08 461

原创 除了Google还有什么搜索引擎?

区域性搜索引擎AOL – AOL可以搜索网页,图片及视频,新闻,工具等等,而且还提供了过滤选项。Yandex – Yandex是一家俄罗斯搜索引擎,也提供邮件、地图等服务。 可以搜索图片,视频等等。Ecosia – Ecosia是一个搜索引擎, 捐赠收入盈余的80%用于植树造林。 它可以让你搜索网页,图片,新闻,视频和更多。MyWebSearch – MyWebSearch显示来自谷歌的结果,它可以让你搜索网页,图片和视频,新闻,购物

2021-09-01 13:58:37 4726

原创 爬虫好搭档之 pyquery

安装pip3 install pyqueryHtml初始化from pyquery import PyQuery as pqs = '<html><title>PyQuery Html初始化<title></html>'doc = pq(s)print(doc('title'))URL网址初始化from pyquery import PyQuery as pqurl = 'https://www.baidu.com/'doc.

2021-06-04 09:45:37 141

原创 爬虫好搭档之 w3lib

获取html编码from w3lib import encodingstr_html = '''<!--meta--><meta charset=utf-8>&pound;<!--这是注释-->'''print(html.remove_comments(str_html))head编码from w3lib import encodingprint(encoding.http_content_type_encoding("Content-Ty

2021-05-06 13:49:29 347

原创 Bootstrap FileInput(文件上传)中文API整理

下载地址、API和DOM地址[下载地址](https://github.com/kartik-v/bootstrap-fileinput)[API文档](http://plugins.krajee.com/file-input)[D E M O](http://plugins.krajee.com/file-input/demo)一、引入文件<link href="../css/bootstrap.min.css"rel="stylesheet"><link href="..

2021-04-16 17:50:57 766

原创 Cmake安装MySQL报错处理解决方案

1.FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_dbyum install autoconf2.CMake Error at cmake/boost.cmake:81 (MESSAGE);You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=1)mkdir -p

2021-01-29 09:52:10 722

原创 Laravel 限制条数后再分页

LengthAwarePaginator 手动分页$page # 这里获取时 根据 $total 判断限制下$total = 50;$perPage = 10;$users = $users->where(...)->paginate($page);$users = new LengthAwarePaginator( $users->items(), $users->total() < $total ? $users->total() :

2021-01-13 14:34:10 452

原创 mitmproxy

介绍技术特性适用场景说明mitmproxy跨平台、基于python抓包官网 Doc Github 示例安装pip3 install mitmproxy使用启动代理# 方式一:在8080端口上运行一个代理服务mitmproxy ## 或者指定端口mitmproxy -p 8888# 方式二:启动mitmdump,它也会监听8080端口mitmdump## 执行自定义脚本mitmdump -s script.py# 方式3:启动一个 web 界

2020-12-15 10:53:06 251

原创 Laravel Carbon 类使用

文章目录Carbon 时间处理应用获取一个字符串日期解析:构造日期获取日期信息:日期操作:日期比较:获取特殊时间:Carbon 时间处理应用echo Carbon::now(); // 获取当前时间echo Carbon::now('Arctic/Longyearbyen'); //获取指定时区的时间echo Carbon::now(new \DateTim

2020-11-26 17:49:21 403

原创 国内开源镜像站汇总

站点版阿里开源镜像站:developer.aliyun.com/mirror网易开源镜像站:mirrors.163.com华为开源镜像站:mirrors.huaweicloud.com/搜狐开源镜像站:mirrors.sohu.com/教育站清华大学:mirrors.tuna.tsinghua.edu.cn/中国科技大学:mirrors.ustc.edu.cn/北京交通大学:mirror.bjtu.edu.cn/cn/上海交通大学:ftp.sjtu.edu.cn/北京理工

2020-11-04 09:44:16 683

原创 pandas 遍历Dataframe

iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问。itertuples(): 按行遍历,将DataFrame的每一行迭代为元祖,可以通过row[name]对元素进行访问,比iterrows()效率高。iteritems():按列遍历,将DataFrame的每一列迭代为(列名, Series)对,可以通过row[index]对元素进行访问。示例数据import pandas as pdinp = [{.

2020-10-22 10:19:36 168

原创 Python 安装 mysqlclient、mysql-mython

如果您的目标机器mysql是编译安装的请阅读下文,如若不是请使用yum 安装相关mysql组件错误提示[root@hinink /]# pip3 install mysqlclientLooking in indexes: http://pypi.douban.com/simpleCollecting mysqlclient Downloading http://pypi.doubanio.com/packages/a5/e1/e5f2b231c05dc51d9d87fa5066f90d14.

2020-08-06 17:11:47 426

原创 常用 APP URL Scheme

系统短信sms://app storeitms-apps://电话tel://备忘录mobilenotes://设置prefs:root=SETTINGE-MailMESSAGE://小红书用户xhsdiscover://user/id抖音视频snssdk1128://aweme/detail/6503033202339220749用户snssdk1128://user/pro

2020-08-03 15:33:52 11612 3

原创 手机(小米系列)不能安装mitmproxy 证书怎么办

安卓版本7+并且微信版本7+ 使用mitmproxy也不能代理请求怎么办?究其缘由是微信调整了如下安全证书策略:为什么策略 C 不能代理了?参考资料提到默认情况下,针对 Android 7.0 (API level 24) 的应用不再信任用户或管理员添加的CA证书来进行安全连接。(之前我们其实是将安全证书安装到安卓手机上作为用户信任安全证书,新版本如果APP开启了.

2020-07-08 11:23:16 2666

原创 MySQL 常用优化指南

单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在 千万级以下,字符串为主的表在 五百万 以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段尽量使用 TINYINT 、 SMALLINT 、 MEDIUM_INT 作为整数类型而非 INT ,如果非负则加上 UNSIGNEDVARCHAR 的长度只分配真正需要的空间使用枚举或整数代替字符串类型

2020-06-28 18:21:08 174

原创 Laravel Eloquent 必备的实用技巧

1. 递增和递减要代替以下实现:$article = Article::find($article_id);$article->read_count++;$article->save();你可以这样做:$article = Article::find($article_id);$article->increment('read_count');以下这些方法也可以实现:Article::find($article_id)->increment('read_coun

2020-06-28 10:36:38 275

原创 如何解决 sudo 命令找不到环境变量的问题

在通过 sudo 运行命令时,系统会默认重置环境变量为安全的环境变量,也就是说,先前设置的变量都会失效,只有少数配置文件中指定的环境变量能够保存下来。sudo 的配置文件是 /etc/sudoers,需要 root 权限才能读取,运行以下命令:sudo sed '/^#/d;/^$/d' /etc/sudoerssudo 的配置如下图所示:sudo 配置文件请注意:第 3 行的 Defaults env_reset 表示默认会重置环境变量,因此自定义的变量会在 sudo 环境中失效,也就

2020-06-26 15:19:42 1561

原创 Laravel 开发中值得记住的简单建议

最大限度的使用你的 .env 文件;不要破坏框架核心,不要编辑 vendor 文件夹中的文件,你可以选择继承相关函数来实现。扩展优于修改。不要直接通过 PHPMyAdmin 或者其他数据库控制台创建表和索引。请使用数据库迁移表来创建表、增加修改字段,然后提交到 Git 仓库。测试的时候不要直接向数据库插入假值。创建填充文件(Seeder 文件)来填充数据库。更倾向于使用 Artisan 脚手架而不是手动创建东西,这会极大的提升你的生产力。确保使用一些 artisan 命令来..

2020-06-26 15:08:17 161

原创 PHP 8 发布首个 Alpha 版本

按照发布计划,PHP 8 将于今年 11 月 26 日发布,而原定于 6 月 18 日发布的第一个 Alpha 版本跳票到了今天发布。PHP8 是一个新的主要版本,它引入了一些重大变更,以及许多新特性和性能改进,下边简单介绍一些亮点:下载地址JIT,Just-In-Time,即时编译最重大的特性非 JIT 莫属。该特性的研发历时多年,熬过了 PHP 5 与 7 大版本系列(PHP 6 项目流产),直到去年 3 月份才最终通过投票确认将进入 PHP 8。JIT 是一种编译器策略,它将代码表述为.

2020-06-26 15:01:11 311

原创 pyppeteer(三) 小红书PC滑动破解(数美验证码)

【代码】pyppeteer(三) 小红书PC滑动破解(数美验证码)

2020-06-24 17:47:49 5752 11

原创 git clone 指定的单个目录或文件夹(基于sparse clone变通方法)

创建空仓库mkdir testingcd testinggit init 拉取远程仓库信息git remote add -f origin http://your/git/repo.git # 拉取远程仓库信息开启 sparse clonegit config core.sparsecheckout true # 开启 sparse clone设置过滤echo "testing" >> .git/info/sparse-checkout # 设置过滤条件更新仓库

2020-06-04 11:14:41 1451

原创 CentOS 开机流程详解

一、Linux开机流程:BIOS:(Basic Input Output System)基本输入输出系统,它是一组固化到计算机内主板上一个ROM芯片 上的程序,保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,可从CMOS中读写系统设置的具体信息。MBR: Master Boot Record,主要引导记录区。Boot Loader:启动引导程序。二、详细流程第一步:加载BIOS打开计算机电源,计算机硬件会自动加载BIOS,读取BIOS内相关硬件信息及进行硬件系统的自检,

2020-06-03 13:38:16 150

原创 软件开发项目流程

引言在互联网行业从事开发工作三年余,虽然时间不长,但对于开发流程也有一定的认识,写一篇关于这方面的内容,以记录自己的成长历程。目的当我们发现市场上有一个项目有利可图,且我们有能力做的时候,发起的一次项目可行性探讨。立项流程关于立项,我们根据自己公司的情况来下定义,因为大的互联网公司都有比较正规的立项流程,我们这里不做介绍。这里我们主要介绍关于中小型公司,没有特别标准的流程的公...

2020-05-08 11:34:40 131

原创 用composer开发自定义包

注册composer、github账号在github上新增项目,并将项目克隆到本地环境进入目录,新增src目录,新建Test.php文件<?phpnamespace Hinink;class Test { public function __construct(){ } public function getDate(){ return date(...

2020-05-01 20:47:49 571

原创 PHP7.4新特性

类型属性在PHP7之后,对PHP弱类型有了些改进,使用注解的方法,对类属性进行声明,在最近发布的PHP7.4版本中,新增了类型属性。以前的写法:class User{ /** * @var int */ public $id; /** * @var string */ public $name;}7.4新特...

2020-05-01 18:39:19 565

原创 MySQL 明文密码实现数据库备份

在高版本的MySQL中用 mysqldump 命令实现数据库备份,需将密码明文方式显示在命令上,但在运行时会报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.这是mysql的登录安全机制,那么我们如何在mysqldump命令中明文传输密码并实现备份呢?解决方法:...

2020-05-01 18:27:53 793

原创 MySQL sql_mode 严格模式详解

MySQL可以为不同的客户端设置不同的sql_mode,并且每个应用能够设置他自己的会话级别的sql_mode。sql_mode会影响sql语法以及mysql显示数据的正确性。官方文档建议:当使用innodb存储引擎表时,考虑使用innodb_strict_mode模式的sql_mode,它能增量额外的错误检测功能。踩了 MySQL8 的一个关于 sql_mode 的坑,这是 MyS...

2020-05-01 18:06:21 2324

原创 PHP建议禁用的危险函数

PHP配置文件中的disable_functions选项能够在PHP中禁用指定的函数。PHP中有很多危险的内置功能函数,如果使用不当,可造成系统崩溃。禁用函数可能会为研发带来不便,但禁用的函数太少又可能增加研发人员写出不安全代码的概率,同时为黑客非法获取服务器权限提供遍历。在PHP配置文件中添加需要禁用的函数可以有效避免webshell。在PHP中配置如下:disable_functi...

2020-05-01 11:14:05 510

原创 PHP安全配置

一、屏蔽PHP错误信息在配置文件中,设置display_errors=On,开启了PHP错误显示,在PHP程序遇到错误时,会暴露PHP文件和系统路径,从而容易被威胁,我们需要设置:;默认开启;Default Value: On;研发环境开启;Development Value: On;生产环境开启;Production Value: Off;生产环境下,设定为Offdi...

2020-05-01 11:08:19 691

原创 python 文件操作

判断文件/文件夹是否存在import osos.path.exists("test_file.txt") #判断当前目录中是否存在某文件os.path.exists("data")#判断当前路径下是否存在data文件夹判断文件/文件夹是否可读写注释:path是文件或文件夹的路径;mode:是文件或文件夹的读或写等属性,具体如下:os.F_OK: 检查文件或文件夹是否存在;os....

2020-04-24 14:01:04 236

原创 pyppeteer(二) 淘宝滑动破解

import asyncioimport time,randomfrom pyppeteer.launcher import launch # 控制模拟浏览器用from retrying import retry #设置重试次数用的async def main(username, pwd, url):# 定义main协程函数, #以下使用await 可以针对耗时的操作进行挂起 ...

2020-03-23 11:23:35 2605 2

原创 pyppeteer(一)--简介

别只用 Selenium,新神器 Pyppeteer 绕过淘宝更简单!

2020-03-23 10:44:01 359

原创 pyppeteer报错解决和相关问题解决

1. 报错1:Most likely the page has been closedpyppeteer.errors.NetworkError: Protocol Error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed.使用pyppeteer采集京东的时候,总数到7~8页...

2020-03-20 15:38:30 1269

原创 PHP扩展之结巴分词

functionsarray jieba(string $text, int $action = 0, int $limit = 50)action 0 Extract 1 CutForSearch 2 Tag 3 TagAll 解决 Tag 对于相同 key 的问题 installgit clone https://github.com/jonnywang/ph...

2020-03-18 13:03:10 1173 1

Oracle诊断案例

Oracle诊断案例-I/O子系统 1 系统软硬件现状 1 Vmstat数据 2 Statpack数据 2 业务分析 3 数据库性能分析 3 修改建议 4 调整后性能的改善 5 Oracle诊断案例-Spfile案例 5 Oracle诊断案例-SGA与Swap 17 SGA与Swap之二 32 Oracle诊断案例-Sql_trace之一 38

2016-12-05

Tengine(Nginx)配置参考

#运行用户 #user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes auto; #更改worker进程的最大打开文件数限制。如果没设置的话,这个值为操作系统的限制。设置后你的操作系统和Nginx可以处理比“ulimit -a”更多的文件,所以把这个值设高,这样nginx就不会有“too many open files”问题了。 worker_rlimit_nofile 100000; #全局错误日志及PID文件 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;

2016-12-05

全国省市县(区)镇(乡)四级联动 地理坐标

全国省市县(区)镇(乡)四级联动 地理坐标

2016-06-07

ecshop 支付宝网银直连

<?php /** * ECSHOP 支付宝插件 * ============================================================================ * ---------------------------------------------------------------------------- * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和 * 使用;不允许对程序代码以任何形式任何目的的再发布。 * ============================================================================ * $Author: liubo $ * $Id: alipay.php 17217 2011-01-19 06:29:08Z liubo $ */ if (!defined('IN_ECS')) { die('Hacking attempt'); } $payment_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/payment/alipay.php'; if (file_exists($payment_lang)) { global $_LANG; include_once($payment_lang); } /* 模块的基本信息 */ if (isset($set_modules) && $set_modules == TRUE) { $i = isset($modules) ? count($modules) : 0; /* 代码 */ $modules[$i]['code'] = basename(__FILE__, '.php'); /* 描述对应的语言项 */ $modules[$i]['desc'] = 'alipay_desc'; /* 是否支持货到付款 */ $modules[$i]['is_cod'] = '0'; /* 是否支持在线支付 */ $modules[$i]['is_online'] = '1'; /* 作者 */ $modules[$i]['author'] = 'ECSHOP TEAM'; /* 网址 */ $modules[$i]['website'] = 'http://www.alipay.com'; /* 版本号 */ $modules[$i]['version'] = '1.0.2'; /* 配置信息 */ $modules[$i]['config'] = array( array('name' => 'alipay_account', 'type' => 'text', 'value' => ''), array('name' => 'alipay_key', 'type' => 'text', 'value' => ''), array('name' => 'alipay_partner', 'type' => 'text', 'value' => ''), // array('name' => 'alipay_real_method', 'type' => 'select', 'value' => '0'), // array('name' => 'alipay_virtual_method', 'type' => 'select', 'value' => '0'), // array('name' => 'is_instant', 'type' => 'select', 'value' => '0') array('name' => 'alipay_pay_method', 'type' => 'select', 'value' => '') ); return; } /** * 类 */ class alipay { /** * 构造函数 * * @access public * @param * * @return void */ function alipay() { } function __construct() { $this->alipay(); } /** * 生成支付代码 * @param array $order 订单信息 * @param array $payment 支付方式信息 */ function get_code($order, $payment) { if (!defined('EC_CHARSET')) { $charset = 'utf-8'; } else { $charset = EC_CHARSET; } // if (empty($payment['is_instant'])) // { // /* 未开通即时到帐 */ // $service = 'trade_create_by_buyer'; // } // else // { // if (!empty($order['order_id'])) // { // /* 检查订单是否全部为虚拟商品 */ // $sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('order_goods'). // " WHERE is_real=1 AND order_id='$order[order_id]'"; // // if ($GLOBALS['db']->getOne($sql) > 0) // { // /* 订单中存在实体商品 */ // $service = (!empty($payment['alipay_real_method']) && $payment['alipay_real_method'] == 1) ? // 'create_direct_pay_by_user' : 'trade_create_by_buyer'; // } // else // { // /* 订单中全部为虚拟商品 */ // $service = (!empty($payment['alipay_virtual_method']) && $payment['alipay_virtual_method'] == 1) ? // 'create_direct_pay_by_user' : 'create_digital_goods_trade_p'; // } // } // else // { // /* 非订单方式,按照虚拟商品处理 */ // $service = (!empty($payment['alipay_virtual_method']) && $payment['alipay_virtual_method'] == 1) ? // 'create_direct_pay_by_user' : 'create_digital_goods_trade_p'; // } // } $real_method = $payment['alipay_pay_method']; switch ($real_method){ case '0': $service = 'trade_create_by_buyer'; break; case '1': $service = 'create_partner_trade_by_buyer'; break; case '2': $service = 'create_direct_pay_by_user'; break; } $extend_param = 'isv^sh22'; $parameter = array( 'extend_param' => $extend_param, 'service' => $service, 'partner' => $payment['alipay_partner'], //'partner' => ALIPAY_ID, '_input_charset' => $charset, 'notify_url' => return_url(basename(__FILE__, '.php')), 'return_url' => return_url(basename(__FILE__, '.php')), /* 业务参数 */ 'subject' => $order['order_sn'], 'out_trade_no' => $order['order_sn'] . $order['log_id'], 'price' => $order['order_amount'], 'quantity' => 1, 'payment_type' => 1, /* 物流参数 */ 'logistics_type' => 'EXPRESS', 'logistics_fee' => 0, 'logistics_payment' => 'BUYER_PAY_AFTER_RECEIVE', /* 买卖双方信息 */ 'seller_email' => $payment['alipay_account'] ); ksort($parameter); reset($parameter); $param = ''; $sign = ''; foreach ($parameter AS $key => $val) { $param .= "$key=" .urlencode($val). "&"; $sign .= "$key=$val&"; } $param = substr($param, 0, -1); $sign = substr($sign, 0, -1). $payment['alipay_key']; //$sign = substr($sign, 0, -1). ALIPAY_AUTH; $button = '<div style="text-align:center"><input type="button" onclick="window.open(\'https://www.alipay.com/cooperate/gateway.do?'.$param. '&sign='.md5($sign).'&sign_type=MD5\')" value="' .$GLOBALS['_LANG']['pay_button']. '" /></div>'; return $button; } /** * 响应操作 */ function respond() { if (!empty($_POST)) { foreach($_POST as $key => $data) { $_GET[$key] = $data; } } $payment = get_payment($_GET['code']); $seller_email = rawurldecode($_GET['seller_email']); $order_sn = str_replace($_GET['subject'], '', $_GET['out_trade_no']); $order_sn = trim($order_sn); /* 检查支付的金额是否相符 */ if (!check_money($order_sn, $_GET['total_fee'])) { return false; } /* 检查数字签名是否正确 */ ksort($_GET); reset($_GET); $sign = ''; foreach ($_GET AS $key=>$val) { if ($key != 'sign' && $key != 'sign_type' && $key != 'code') { $sign .= "$key=$val&"; } } $sign = substr($sign, 0, -1) . $payment['alipay_key']; //$sign = substr($sign, 0, -1) . ALIPAY_AUTH; if (md5($sign) != $_GET['sign']) { return false; } if ($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS') { /* 改变订单状态 */ order_paid($order_sn, 2); return true; } elseif ($_GET['trade_status'] == 'TRADE_FINISHED') { /* 改变订单状态 */ order_paid($order_sn); return true; } elseif ($_GET['trade_status'] == 'TRADE_SUCCESS') { /* 改变订单状态 */ order_paid($order_sn, 2); return true; } else { return false; } } } ?>

2014-10-09

Jquery 帮助文档

JQuery 1.5API中文参考手册CHM版.chm jQuery_CHM_1.4.4.chm jquery1.7.chm jquery1.8.3.chm jQueryAPI_1.7.1_CN.chm jQuery-UI-Reference-1.5.1.chm jQuery EasyUI v1.3.5官方API中文版.exe

2014-10-09

天鼎网上订餐系统

response.sendRedirect("tiresponse.sendRedirect("tienting_standar.action"); enting_standar.action");

2012-10-21

论坛短消息

public class Message public class User public class MessageDao extends BaseDao { private Connection conn = null; // 数据库连接 private PreparedStatement pstmt = null; // 创建PreparedStatement对象 private ResultSet rs = null; // 创建结果集对象 /** * 保存一条消息 * @param message * @return */ public int save(Message message){ String sql = "insert into TBL_MESSAGE(note,sendUname,receiveUname,postTime,readSign) values(?,?,?,?,0)"; String[] param = {message.getNote(),message.getSendUname(),message.getReceiveUname(),message.getPostTime()}; return super.executeSQL(sql, param); } /** * 删除一条消息 * @param message * @return */ public int delete(int id){ String sql = "delete from TBL_MESSAGE where id="+id; return super.executeSQL(sql, null); } /** * 更新读标记 * @param message * @return */ public int update(Message message){ String sql = "update TBL_MESSAGE set readSign=1 where id="+message.getId(); return super.executeSQL(sql, null); } /** * 查询参数用户收到的消息列表 * @param uid * @return */ public List listByReceiveUname(String uname) { List list = new ArrayList(); String sql = "select * from TBL_MESSAGE where receiveUname=?"; try { conn = this.getConn(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, uname); rs = pstmt.executeQuery(); while(rs.next()) { Message message = new Message(); message.setId(rs.getInt("id")); message.setNote(rs.getString("note")); message.setSendUname(rs.getString("sendUname")); message.setReceiveUname(rs.getString("receiveUname")); message.setPostTime(rs.getString("postTime")); message.setReadSign(rs.getInt("readSign")); list.add(message); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally{ this.closeAll(conn, pstmt, rs); } return list; } /** * 根据短信息id查一条短信息 * @param id * @return */ public Message findMessage(int id){ Message message = null; String sql = "select * from TBL_MESSAGE where id=?"; try { conn = this.getConn(); pstmt = conn.prepareStatement(sql); pstmt.setInt(1, id); rs = pstmt.executeQuery(); while(rs.next()) { message = new Message(); message.setId(rs.getInt("id")); message.setNote(rs.getString("note")); message.setSendUname(rs.getString("sendUname")); message.setReceiveUname(rs.getString("receiveUname")); message.setPostTime(rs.getString("postTime")); } } catch (ClassNotFoundException e) { message = null; e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally{ this.closeAll(conn, pstmt, rs); } return message; } }

2012-06-06

Flash 快捷键大全

Flash 快捷键大全

2012-06-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除