- windows本地使用docker-compose构建nginx+php访问thinkphp5
星芯ya
Docker学习docker容器运维
前言:继上一篇windows本地使用docker+nginx+mysql部署thinkphp5https://blog.csdn.net/hmx089674/article/details/136683679本期使用docker-compose搭建环境访问thinkphp5程序。第一步:准备工作检查本地是否安装docker-compose(cmd终端输入docker-compose-v检测,安装D
- thinkphp5.0项目配置多MySQL数据库连接
thinkphp5mysql
公司项目需要连接2个MySQL数据库背景介绍:公司项目是基于fastadmin1.4.0.20230711开发的,里面用到的thinkphp版本是5.0.25,项目涉及到小程序端和设备端,之前做的是两个项目,但是部署在同一台服务器上,分别对应两个数据库,之前两个项目之间的交互是通过互相调用对方接口的方式实现的,优化的时候就想通过在一个项目中连接两个MySQL数据库的方式,避免互相调用带来的性能开销
- 【thinkphp5】Session和Cache记录微信accesstoken
hj1043
fastadminPHP微信java开发语言
记录一个项目实际遇到的坑,不要把token存放在session,要存在在cache里面!!因为Session并不能设置expire过期时间,Session::set()方法第三个参数是作用域,而非过期时间!!!因此不能混用cache的用法。session的set方法/***session设置*@paramstring$namesession名称*@parammixed$valuesession值*
- thinkphp5.1升级thinkphp6遇到的坑
程序员君常笑
thinkphpphp
想着将就项目从tp5.1升级到tp6,哪知道遇到这么多坑,因为tp6不是写给MVC结构,记录下默认安装thinkphp6有问题如果使用指令composercreate-projecttopthink/thinktp安装,不能完全安装。需要添加--ignore-platform-reqs。//安装composercreate-projecttopthink/thinkrent6--ignore-pl
- Thinkphp5.0读取自定义配置文件
zhao_teng
tp5
//新建配置文件,位置application/extra/user.php//文件内容格式return["name"=>"xiaoli","age"=>15];//先引用usethink\Config;//读取自定义拓展配置dump(config('user'));dump(config('user.name'));————————————————
- tp5 admin.php,TP-admin即基于ThinkPHP5拿来即用高性能后台管理系统
江东的铁壁
tp5admin.php
新版本在线体验地址已经上线,欢迎体验---2017-01-14======================TP-adminTP-admin即基于ThinkPHP5拿来即用高性能后台管理系统官方文档在线体验账户:13330613321密码:123456线上仓库源代码下载git克隆:gitclonehttps://github.com/Astonep/tp-admin本地部署运行环境要求PHP>=5.
- 抖音机构号授权矩阵系统源码,短视频账号矩阵系统系统源码/独立部署代码
疯狂运营官ymhao87
矩阵阿里云
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、抖音矩阵机构号是什么?二、使用步骤1.机构号申请2.本地发布任务前言抖音机构号授权矩阵系统源码是一个为抖音机构号提供授权管理的系统。该系统前端使用了uni-app和vue作为开发框架,后端采用了ThinkPHP5、wokerman和ElementUI。同时,剪辑版块使用了阿里云智能媒体服务和阿里云对象存储来实现。抖音机
- thinkphp5 软删除
1,介绍:软删除的作用就是把数据加上删除标记,而不是真正的删除,同时也便于需要的时候进行数据的恢复。标记就是通过数据表中delete_time字段设置软删除时候的时间从而屏蔽对这些数据的查询等操作。没有设置的记录的delete_time字段显示的是null。2,modul中设置详细介绍请仔细看注释model类中写:protected$autoWriteTimestamp='timeStamp';设
- ajax php token,thinkphp5 ajax提交token更新的问题
Score 赛高
ajaxphptoken
在使用thinkphp5做编辑删除的ajax操作时,携带token。点击第一次时验证器提示成功,点击第二次时提示无效的令牌。后来发现原因是因为vartoken='{$Request.token}';这里的值没变所以导致令牌验证失败。现在在控制器中$request->token();重新生成了token并已header形式返回到客户端,但是如何让ajax提交时的token为新的值呢?我的代码改如何修
- TPshop学习(4)TPshop目录结构
phper8
php
学习内容:https://www.kancloud.cn/tpshop/thinkphp5/280417ThinkPhP5项目实战(第四讲):请看下面的图,左边是thinkphp5的目录,右边是tpshop的目录。Admin管理员模块Api手机app接口模块(?)Home网站前台模块Mobile手机网站模块application\home\logic共用逻辑层代码application\commo
- thinkphp5框架一小时搭建一个php后端(1)
小甲鱼同学
php后端开发语言
开发环境使用phpstudy编辑器用sublime数据库navicat需要下载composer先配置好本地域名,然后需要我们将资源引入到项目里面下载地址www.layui.com.layui框架有很多我们后台开发需要的控件,帮助我们高效完成后台搭建。先创建我们的入口文件admins.php,接着我们在application里面建立一个admins的目录。接着我们需要创建登录需要用到的控制器。Acc
- 最新码支付个人免签支付系统源码 三网免挂版本 兼容易支付
百创科技
开源
介绍:最新码支付个人免签支付系统源码三网免挂版本兼容易支付本系统是基于thinkphp5.0FastAdmin开发的一套新型聚合收款、聚合支付系统一款专业的聚合免签收款系统,无需对接其余平台,个码就可收款,灰常的方便快捷,集成实现三网免挂功能,无需挂繁琐的监控软件就可实现回调,更便捷的监控方式,更优的产品质量,更可靠的服务态度,值得您的选择!图片
- 龙腾码支付系统三网免挂个人免签支付兼容易支付带详细教程
酷讯网络_240870160
酷讯部落格学习开源
一、系统简介码支付是基于ThinkPhp5.0FastAdmin开发的一套新型聚合收款、聚合支付系统,是一款专业的聚合免签收款系统,无需对接其余平台,个码就可收款,灰常的方便快捷,集成实现三网免挂功能,无需挂繁琐的监控软件就可实现回调,更便捷的监控方式,更优的产品质量,更可靠的服务态度,值得您的选择!二、功能亮点云端免挂机,微信扫码就可实时收款微信支付宝免输金额根据订单号秒回调TP5FastAdm
- pgsql thinkphp5_TP5 连接 postgres 问题
weixin_39983563
pgsqlthinkphp5
问题一:配置修改为pgsql,提示couldnotfinddriver1.tp5下database配置'DB_TYPE'=>'pgsql',2.打开php扩展-》开启php_pgsql.dll,php_pdo_pgsql.dll在wampserverxampp下PHP使用PDO支持postgresqlhttp://blog.csdn.net/yageeart/article/details/667
- 线上创业协会小程序源码介绍
wx_cxc2848698918
微信小程序小程序
基于ThinkPHP+FastAdmin+UniApp开发的一款线上创业协会小程序源码,ThinkPHP框架开发,具备高效、安全、稳定的特点。ThinkPHP框架在PHP开发领域享有盛誉,其简洁的语法和强大的功能为开发者提供了良好的开发体验。同时,FastAdmin后台管理系统的加入,使得小程序的管理更加便捷高效。FastAdmin是一款基于ThinkPHP5开发的快速开发框架,具备丰富的功能模块
- aidigu开源微博项目程序,PHP开发的开源微博系统,自媒体个人创业、网盘推广首先
2301_78755287
php媒体开发语言开源数据库开发
一、软件介绍文末提供程序和源码下载学习PHP开发的开源微博系统,采用PHP+MySQL开发,框架采用ThinkPHP5.1,用户登录后拥有专属ID,支持表情、关注用户,网盘分享等功能,支持图片上传,视频上传,网盘存储分享。测试地址http://t.aidigu.cn二、安装方式1.克隆源码,导入数据库即可(文末提供下载)2.复制example_env为.env并修改.env相关配置3.网站的运行目
- thinkphp5常用函数汇总_THINKPHP5(TP5)新手入门必看教程
负智年帖
thinkphp5常用函数汇总
安装配置官网下载TP5完整版(初学者学习用的)解压到本地的开发环境phpstudy中,默认的入口文件是public,访问public会看到TP5成功页面。目录介绍一般开发中,代码都是写在application这个文件夹中开发一个项目的时候,通常分为前台和后台,前台一般放在index模块中,后台一般放在admin模块中。也可以自己新建一个模块模块内部,都遵循着MVC架构controller、mode
- TP5的框架架构是怎样的?使用场景是什么?底层原理是什么?
快点好好学习吧
PHP1024程序员节
ThinkPHP5(简称TP5)是一个轻量级、高性能的PHP框架,旨在简化开发过程,提供一套简洁高效的开发模式。下面是关于TP5的框架架构、使用场景以及底层原理的详细介绍。框架架构核心组件TP5的核心组件包括:入口文件:通常命名为index.php或public/index.php,负责初始化环境和引导框架的启动。配置文件:存放在config目录下的文件,用于配置应用的基本设置。路由配置:存放在r
- phpstudy用composer安装thinkphp5.1
dnpao
thinkphp5.1linuxphp
参考文章https://www.cnblogs.com/finalanddistance/p/8932042.html下载composer.phar下载地址:https://getcomposer.org/download/我是下载最新的路径phpstudy所使用是php7.2本地路径是D:\ProgramFiles\phpStudy\PHPTutorial\php\php-7.2.1-nts\p
- Fastadmin框架 lang任意文件读取漏洞攻略
故事与他645
前端javascript开发语言java网络安全web安全spring
漏洞介绍FastAdmin是一个免费开源的后台管理框架,基于ThinkPHP5.1框架开发而成,具有功能全面、界面美观、易于上手的特点。它提供了丰富的后台管理功能模块,包括权限管理、数据库管理、文件管理、图表统计等,可以帮助开发者快速搭建起一个稳定可靠的后台管理系统。其lang存在任意文件读取漏洞,未授权攻击者可以利用其读取网站配置文件等敏感信息。「Fofa」body="/assets/js/re
- 常见框架漏洞:Thinkphp(TP)篇
与神明画鸭
Thinkphptp漏洞
简介ThinkPHP(简称TP)是一款流行的国产开源PHP框架,遵循MVC(Model-View-Controller)设计模式,以简洁、高效、灵活著称,广泛应用于国内中小型Web项目开发。Thinkphp5x远程命令执行及getshell原理rce过程打开网站?s=/Index/\think\app/invokefunction&function=call_user_func_array&var
- thinkphp5模型查询数据库,查出来的字段直接修改成另外的名字
知码客
个人随笔thinkphp5php开发
在ThinkPHP5中,如果你希望在查询数据库时将返回的字段名直接修改为其他名称,可以通过以下几种方式实现:方法1:使用field方法指定字段别名在查询时通过field方法直接为字段指定别名(使用AS关键字)。示例代码://使用Db类查询$result=Db::name('user')->field('idASuser_id,nameASfull_name')->select();//使用模型查询
- 基于thinkphp5小区物业管理系统设计与实现(源码+lw+部署文档+讲解等)
阿逸学长
#java毕设精选案例开发语言毕设phpjava
基于thinkphp5小区物业管理系统设计与实现(源码+lw+部署文档+讲解等)文章目录基于thinkphp5小区物业管理系统设计与实现(源码+lw+部署文档+讲解等)引言项目概述功能介绍系统管理员:社区业主:技术栈功能截图示例代码数据库操作示例源码获取引言博主介绍:✌专注于Java技术领域和学生毕业项目实战,欢迎大家交流✌主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、
- php后端分页_thinkphp5框架前后端分离项目实现分页功能的方法分析
淡定男
php后端分页
本文实例讲述了thinkphp5框架前后端分离项目实现分页功能的方法。分享给大家供大家参考,具体如下:方法一利用tp5提供的paginate方法实现自动分页参数page第几页,paginate分页方法会自动获取size每页数量代码/***Notes:消费记录*Date:2019/6/25*Time:15:43*@paramRequest$request*@return\think\response
- ThinkPHP中使用MongoDB的union操作
原野-
php查看mongo集合的索引
MongoDB的union操作是什么。Union类似于SQL中的UNIONALL,可以将多个查询结果合并,并去除重复文档;使用ThinkPHP5或更高版本,通常会通过MongoDB的驱动或者第三方库来操作。不过,标准的MongoDB驱动可能不直接支持union操作,所以需要构造多个查询,分别执行然后合并结果检查MongoDB版本:确保使用的MongoDB版本支持union操作(MongoDB3.6
- THINKPHP5获取当前页面URL信息
向宇it
#thinkphpthinkphp域名
想要获取当前页面的url信息,可以借助thinkphp自带的request类来获取当前的url信息使用\think\Request类$request=Request::instance();或者使用自带的助手函数$request=request();$request=Request::instance();//获取当前域名echo'domain:'.$request->domain().'';//
- UNIAPP前端配合thinkphp5后端通过高德API获取当前城市天气预报
知码客
Uniappuni-app前端小程序知码客vue.js
如何通过UniApp前端项目与ThinkPHP5后端结合高德天气API获取天气预报信息。我们将分为前端和后端两部分进行实现。以下是一个完整的代码.一、项目结构project/├──frontend/(UniApp项目)│├──pages/││└──weather/││├──index.vue├──backend/(ThinkPHP5项目)│├──application/││├──controlle
- thinkphp5.1使用redis并使用
❀想容
thinkphp5PHP
创建一个redis类'172.21.20.13',//'port'=>'6379',//'timeout'=>'0',//'retry'=>'0',//'readTimeout'=>'0',//'auth'=>'ZJ1X8fZRuQndScDF7rTW'//);private$redis=array('host'=>'127.0.0.1','port'=>'6379','timeout'=>'0'
- thinkphp5.0配置Redis
denglansui3484
数据库php
官方文档就缓存的配置如下:$options=[//缓存类型为File'type'=>'File',//缓存有效期为永久有效'expire'=>0,//缓存前缀'prefix'=>'think',//指定缓存目录'path'=>APP_PATH.'runtime/cache/',];Cache::connect($options);看着让人不明所以,也不知道在哪配置,经过研究,应在applicati
- ThinkPHP接入PayPal支付
ETO_冬
thinkphpPayPal
ThinkPHP5接入PayPal支付,PayPal的流程是服务器请求Paypal的接口下单(需要传订单id/支付成功的重定向地址/支付失败的重定向地址),接会返回一个支付地址,项目服务器把地址返给用户,用户打开链接登录Paypal完成付款,然后Paypal给重定向到指定地址。在paypal官网开通商户号,设置通知地址。开通沙箱模式用于测试,后台会给沙箱模式生成商户账号和用户账号,请注意区分。申请
- 基本数据类型和引用类型的初始值
3213213333332132
java基础
package com.array;
/**
* @Description 测试初始值
* @author FuJianyong
* 2015-1-22上午10:31:53
*/
public class ArrayTest {
ArrayTest at;
String str;
byte bt;
short s;
int i;
long
- 摘抄笔记--《编写高质量代码:改善Java程序的151个建议》
白糖_
高质量代码
记得3年前刚到公司,同桌同事见我无事可做就借我看《编写高质量代码:改善Java程序的151个建议》这本书,当时看了几页没上心就没研究了。到上个月在公司偶然看到,于是乎又找来看看,我的天,真是非常多的干货,对于我这种静不下心的人真是帮助莫大呀。
看完整本书,也记了不少笔记
- 【备忘】Django 常用命令及最佳实践
dongwei_6688
django
注意:本文基于 Django 1.8.2 版本
生成数据库迁移脚本(python 脚本)
python manage.py makemigrations polls
说明:polls 是你的应用名字,运行该命令时需要根据你的应用名字进行调整
查看该次迁移需要执行的 SQL 语句(只查看语句,并不应用到数据库上):
python manage.p
- 阶乘算法之一N! 末尾有多少个零
周凡杨
java算法阶乘面试效率
&n
- spring注入servlet
g21121
Spring注入
传统的配置方法是无法将bean或属性直接注入到servlet中的,配置代理servlet亦比较麻烦,这里其实有比较简单的方法,其实就是在servlet的init()方法中加入要注入的内容:
ServletContext application = getServletContext();
WebApplicationContext wac = WebApplicationContextUtil
- Jenkins 命令行操作说明文档
510888780
centos
假设Jenkins的URL为http://22.11.140.38:9080/jenkins/
基本的格式为
java
基本的格式为
java -jar jenkins-cli.jar [-s JENKINS_URL] command [options][args]
下面具体介绍各个命令的作用及基本使用方法
1. &nb
- UnicodeBlock检测中文用法
布衣凌宇
UnicodeBlock
/** * 判断输入的是汉字 */ public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
- java下实现调用oracle的存储过程和函数
aijuans
javaorale
1.创建表:STOCK_PRICES
2.插入测试数据:
3.建立一个返回游标:
PKG_PUB_UTILS
4.创建和存储过程:P_GET_PRICE
5.创建函数:
6.JAVA调用存储过程返回结果集
JDBCoracle10G_INVO
- Velocity Toolbox
antlove
模板toolboxvelocity
velocity.VelocityUtil
package velocity;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.c
- JAVA正则表达式匹配基础
百合不是茶
java正则表达式的匹配
正则表达式;提高程序的性能,简化代码,提高代码的可读性,简化对字符串的操作
正则表达式的用途;
字符串的匹配
字符串的分割
字符串的查找
字符串的替换
正则表达式的验证语法
[a] //[]表示这个字符只出现一次 ,[a] 表示a只出现一
- 是否使用EL表达式的配置
bijian1013
jspweb.xmlELEasyTemplate
今天在开发过程中发现一个细节问题,由于前端采用EasyTemplate模板方法实现数据展示,但老是不能正常显示出来。后来发现竟是EL将我的EasyTemplate的${...}解释执行了,导致我的模板不能正常展示后台数据。
网
- 精通Oracle10编程SQL(1-3)PLSQL基础
bijian1013
oracle数据库plsql
--只包含执行部分的PL/SQL块
--set serveroutput off
begin
dbms_output.put_line('Hello,everyone!');
end;
select * from emp;
--包含定义部分和执行部分的PL/SQL块
declare
v_ename varchar2(5);
begin
select
- 【Nginx三】Nginx作为反向代理服务器
bit1129
nginx
Nginx一个常用的功能是作为代理服务器。代理服务器通常完成如下的功能:
接受客户端请求
将请求转发给被代理的服务器
从被代理的服务器获得响应结果
把响应结果返回给客户端
实例
本文把Nginx配置成一个简单的代理服务器
对于静态的html和图片,直接从Nginx获取
对于动态的页面,例如JSP或者Servlet,Nginx则将请求转发给Res
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugin
blackproof
maven报错
转:http://stackoverflow.com/questions/6352208/how-to-solve-plugin-execution-not-covered-by-lifecycle-configuration-for-sprin
maven报错:
Plugin execution not covered by lifecycle configuration:
- 发布docker程序到marathon
ronin47
docker 发布应用
1 发布docker程序到marathon 1.1 搭建私有docker registry 1.1.1 安装docker regisry
docker pull docker-registry
docker run -t -p 5000:5000 docker-registry
下载docker镜像并发布到私有registry
docker pull consol/tomcat-8.0
- java-57-用两个栈实现队列&&用两个队列实现一个栈
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
/*
* Q 57 用两个栈实现队列
*/
public class QueueImplementByTwoStacks {
private Stack<Integer> stack1;
pr
- Nginx配置性能优化
cfyme
nginx
转载地址:http://blog.csdn.net/xifeijian/article/details/20956605
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了。而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出Nginx的性能,你必
- [JAVA图形图像]JAVA体系需要稳扎稳打,逐步推进图像图形处理技术
comsci
java
对图形图像进行精确处理,需要大量的数学工具,即使是从底层硬件模拟层开始设计,也离不开大量的数学工具包,因为我认为,JAVA语言体系在图形图像处理模块上面的研发工作,需要从开发一些基础的,类似实时数学函数构造器和解析器的软件包入手,而不是急于利用第三方代码工具来实现一个不严格的图形图像处理软件......
&nb
- MonkeyRunner的使用
dai_lm
androidMonkeyRunner
要使用MonkeyRunner,就要学习使用Python,哎
先抄一段官方doc里的代码
作用是启动一个程序(应该是启动程序默认的Activity),然后按MENU键,并截屏
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRun
- Hadoop-- 海量文件的分布式计算处理方案
datamachine
mapreducehadoop分布式计算
csdn的一个关于hadoop的分布式处理方案,存档。
原帖:http://blog.csdn.net/calvinxiu/article/details/1506112。
Hadoop 是Google MapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同ja
- 以資料庫驗證登入
dcj3sjt126com
yii
以資料庫驗證登入
由於 Yii 內定的原始框架程式, 採用綁定在UserIdentity.php 的 demo 與 admin 帳號密碼: public function authenticate() { $users=array( &nbs
- github做webhooks:[2]php版本自动触发更新
dcj3sjt126com
githubgitwebhooks
上次已经说过了如何在github控制面板做查看url的返回信息了。这次就到了直接贴钩子代码的时候了。
工具/原料
git
github
方法/步骤
在github的setting里面的webhooks里把我们的url地址填进去。
钩子更新的代码如下: error_reportin
- Eos开发常用表达式
蕃薯耀
Eos开发Eos入门Eos开发常用表达式
Eos开发常用表达式
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2014年8月18日 15:03:35 星期一
&
- SpringSecurity3.X--SpEL 表达式
hanqunfeng
SpringSecurity
使用 Spring 表达式语言配置访问控制,要实现这一功能的直接方式是在<http>配置元素上添加 use-expressions 属性:
<http auto-config="true" use-expressions="true">
这样就会在投票器中自动增加一个投票器:org.springframework
- Redis vs Memcache
IXHONG
redis
1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。
2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。
3. Redis支持数据的备份,即master-slave模式的数据备份。
4. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Red
- Python - 装饰器使用过程中的误区解读
kvhur
JavaScriptjqueryhtml5css
大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验, Cache等。
原文链接:http://www.gbtags.com/gb/share/5563.htm
Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:
@function_wrapper
de
- 架构师之mybatis-----update 带case when 针对多种情况更新
nannan408
case when
1.前言.
如题.
2. 代码.
<update id="batchUpdate" parameterType="java.util.List">
<foreach collection="list" item="list" index=&
- Algorithm算法视频教程
栏目记者
Algorithm算法
课程:Algorithm算法视频教程
百度网盘下载地址: http://pan.baidu.com/s/1qWFjjQW 密码: 2mji
程序写的好不好,还得看算法屌不屌!Algorithm算法博大精深。
一、课程内容:
课时1、算法的基本概念 + Sequential search
课时2、Binary search
课时3、Hash table
课时4、Algor
- C语言算法之冒泡排序
qiufeihu
c算法
任意输入10个数字由小到大进行排序。
代码:
#include <stdio.h>
int main()
{
int i,j,t,a[11]; /*定义变量及数组为基本类型*/
for(i = 1;i < 11;i++){
scanf("%d",&a[i]); /*从键盘中输入10个数*/
}
for
- JSP异常处理
wyzuomumu
Webjsp
1.在可能发生异常的网页中通过指令将HTTP请求转发给另一个专门处理异常的网页中:
<%@ page errorPage="errors.jsp"%>
2.在处理异常的网页中做如下声明:
errors.jsp:
<%@ page isErrorPage="true"%>,这样设置完后就可以在网页中直接访问exc