通达OA 二开常用代码整理(陆续补充)
Posted 小飞鱼通达二开
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通达OA 二开常用代码整理(陆续补充)相关的知识,希望对你有一定的参考价值。
2015版获取用户id
<?php
include_once( "inc/auth.inc.php" );
?>
<script>
window.location="list.php?userId=<?php echo $_SESSION["LOGIN_USER_ID"]; ?>"
</script>
2015查询数据库
$query = "select * from table"
$cursor = exequery( TD::conn( ), $query );
$hadDate = false;
while( $ROW = mysql_fetch_array( $cursor ) )
$hasDate = true;
$RUN_ID = $ROW['RUN_ID']; //流水号
表单中引用iframe页面
document.onreadystatechange=init;
function init()
if(document.readyState=="complete")
var Request = new Object();
Request = GetRequest();
var runId;
runId = Request["run_id"];
document.getElementById("frameB").src='http://www.tongda.biz?runid='+ runId;
function GetRequest()
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1)
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++)
theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
return theRequest;
页面引用pdf
<object data="/files/examples/example_001.pdf" type="application/pdf" style="width:100%;height:1200px;" internalinstanceid="83">
alt : <a href="https://abc.org/files/examples/example_001.pdf">example_001.pdf</a>
</object>
Header:
显示404页面
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
exit;
设置字符集
header("Content-type: text/html; charset=utf-8");
转成财务数字格式
echo number_format("11235.567",2);
字符串首字母大写
echo ucfirst("xiaofeiyu");
获取前一个错误信息
echo @fopen(0,0) or die($php_errormsg);
二维数组循环输出
<?php $arr = array(
'one'=>array('name'=>'小明','age'=>'21','sex'=>'男'),
'two'=>array('name'=>'小李','age'=>'23','sex'=>'女'),
'three'=>array('name'=>'小王','age'=>'32','sex'=>'男'),
'four'=>array('name'=>'小赵','age'=>'16','sex'=>'女')
);
foreach($arr as $key=>$value)
foreach($value as $key2=>$value2)
echo $value2;
echo "<br>";
将数据结果集存储到数组
while($row=$result->fetch())
$rstArray[] = array( 'id'=>$row['id'], 'name'=>$row['name'] );
计算时间秒差
<?php
$token = fopen("token.txt","r");//打开access_token文件流
$token = fread($token,1023);
$tokenTime = fopen("tokenTime.txt","r");//打开tokenTime文件流
$prevTime = intval(fread($tokenTime,1023));//获取上次缓存文件时间
$nowTime = time()-$prevTime;//计算时间差值
if ($nowTime>= 300) //如果时间差值大于等于300秒,重新获取
$file = fopen("token.txt","w") or die("Unable to open file1!");
fwrite($file,$token);
fclose($file);
else
echo '';
mysql:
数据表增加列
alter table flow_process add column X_Mon tinyint(1) null default 0;
数据表增加多列
ALTER TABLE `table name`
ADD COLUMN `column name` int(11) DEFAULT NULL,
ADD COLUMN `column name` int(11) DEFAULT NULL;
删除列
alter table xfy_table drop column `myColumn`;
设置时间列自动获取当前时间:CURRENT_TIMESTAMP
时间计算
1、当前日期
select DATE_SUB(curdate(), INTERVAL 0 DAY) ;
2、明天日期
select DATE_SUB(curdate(), INTERVAL -1 DAY) ;
3、昨天日期
select DATE_SUB(curdate(), INTERVAL 1 DAY) ;
4、前一个小时时间
select date_sub(now(), interval 1 hour);
5、后一个小时时间
select date_sub(now(), interval -1 hour);
6、前30分钟时间
select date_add(now(), interval -30 minute)
7、后30分钟时间
select date_add(now(), interval 30 minute)
修改表增加备注信息
alter table myTable COMMENT = '小飞鱼的表备注信息';
存储过程控制数据操作
set autocommit=0;
start TRANSACTION;
insert INTO news (news_id,SUBJECT) values (17, "hello");
insert INTO news (news_id,SUBJECT) values (16, "hello");
COMMIT;
End;
insert INTO news (news_id,SUBJECT) values (17, "hello");
调试写入文件
$file = fopen("d:\\\\log.txt","w");
echo fwrite($file,$query);
fclose($file);
计算文件的MD5散列值
$fileName = "abc.txt";
$md5value = md5_file($fileName);
echo $md5value;
带时间格式的日志记录方法
function XFYlog($text)
$dt = new DateTime();
$dtTime = $dt->format('Y-m-d H:i:s');
$fileName = $dt->format('Y-m');
$file = fopen('D:\\\\log\\\\'.$fileName.'.txt',"a");
echo fwrite($file, "[".$dtTime."] ".$text."\\r\\n\\r\\n");
fclose($file);
;
中文非乱码字符串截取
echo mb_substr("小飞鱼通达TM二开", 0, 7, "GBK")
中文字符转码
$instr = '小飞鱼通达二开';
// GBK转UTF-8
$outstr = mb_convert_encoding($instr,'UTF-8','GBK',);
细线表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
table
border-collapse:collapse;
禁用input文本输入框的自动提示功能:
将input元素的autocomplete属性设置为off可以关闭自动提示
如果所有表单元素都不想使用自动提示功能,只需在表单form上设置autocomplete=off。
ssl发送数据
function curlPost($url, $data, $timeout = 30)
$ssl = substr($url, 0, 8) == "https://" ? TRUE : FALSE;
$ch = curl_init();
$opt = array(
CURLOPT_URL => $url,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_POSTFIELDS => (array)$data,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => $timeout,
);
if ($ssl)
$opt[CURLOPT_SSL_VERIFYHOST] = 1;
$opt[CURLOPT_SSL_VERIFYPEER] = FALSE;
curl_setopt_array($ch, $opt);
$data = curl_exec($ch);
curl_close($ch);
return $data;
$data = curlPost('https://www.111cn.net', array('p'=>'hello'));
echo ($data);
点击按钮切换form的action地址
<input type="submit" value="提交" form="form1" formaction="blank.html">
中文字符串长度
$title = $cursor[$i]["title"];
if(iconv_strlen($title,"GBK")>21)
$titleShort = mb_substr($title, 0, 21, 'gbk') . "...";
else
$titleShort = $title;
数组增加项
if($key=='eptName')
$newArray = array("eptName like '%". $GetOrPostArray[$key] ."%'" =>null);
$whereArray = array_merge( $whereArray, $newArray );
压缩一个文件
1 2 3 4 5 6 7 |
|
压缩多个文件
1 2 3 4 5 6 7 8 9 10 11 12 |
|
下载文件一、跳转到下载文件连接
$filename = 'demo.zip'; //获取文件名称
$dir ="down/"; //相对于网站根目录的下载目录路径
$down_host = $_SERVER['HTTP_HOST'].'/'; //当前域名
//判断如果文件存在,则跳转到下载路径
if(file_exists(__DIR__.'/'.$dir.$filename))
header('location:http://'.$down_host.$dir.$filename); //拼接下载文件的绝对路径如:http://demo.xx.cn/down/demo.zip
else
header('HTTP/1.1 404 Not Found'); //这个文件不存在
下载文件二、head() 和 fread()函数把文件直接输出到浏览器
<?php
$file_name = "demo";
$file_name = "demo.zip"; //下载文件名
$file_dir = "./down/"; //下载文件存放目录
//检查文件是否存在
if (! file_exists ( $file_dir . $file_name ))
header('HTTP/1.1 404 NOT FOUND');
else
//以只读和二进制模式打开文件
$file = fopen ( $file_dir . $file_name, "rb" );
//告诉浏览器这是一个文件流格式的文件
Header ( "Content-type: application/octet-stream" );
//请求范围的度量单位
Header ( "Accept-Ranges: bytes" );
//Content-Length是指定包含于请求或响应中数据的字节长度
Header ( "Accept-Length: " . filesize ( $file_dir . $file_name ) );
//用来告诉浏览器,文件是可以当做附件被下载,下载后的文件名称为$file_name该变量的值。
Header ( "Content-Disposition: attachment; filename=" . $file_name );
//读取文件内容并直接输出到浏览器
echo fread ( $file, filesize ( $file_dir . $file_name ) );
fclose ( $file ); //打开的时候要进行关闭这个文件
exit ();
数据生成json格式
$siteID=$_GET['site_id'];
$sql="SELECT `ID`,`equnumber` from equipment where SiteID='$siteID' AND state='未领用'";
$result=mysqli_query($conn,$sql);
if (!$result)
die("连接数据库失败".mysqli_error($conn));
else
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC))
$select[] = array("id"=>$row['ID'],"name"=>urlencode($row['equnumber']));
return urldecode(json_encode($select));
js关闭窗口
function closeThis()
window.top.opener = null; window.close();
原生js写的Ajax
function send()
var ele = document.getElementsByClassName("user")[0];
var con = ele.valueOf;
xmlHttp=new XMLHttpRequest();
xmlHttp.open("GET","/ajax/",true);
xmlHttp.send(null);
xmlHttp.onreadystatechange=function ()
if (xmlHttp.readyState ==4 && xmlHttp.status ==200)
alert(xmlHttp.responseText);
alert(typeof xmlHttp.responseText)
div文字居中显示
style="margin:0 auto; text-align:center"
sqlserver计算得到下个月1号
select CONVERT(varchar(10),DATEADD(m,+1 ,dateadd(dd,-day(getdate())+1,getdate())) ,23)
以上是关于通达OA 二开常用代码整理(陆续补充)的主要内容,如果未能解决你的问题,请参考以下文章
小飞鱼通达二开 致远OA配置(写数据到通达OA第三方系统)接口(图文)