通达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

<?php

$path = "c:/wamp/www/log.txt";

$filename = "test.zip";

$zip = new ZipArchive();

$zip->open($filename,ZipArchive::CREATE);  //打开压缩包

$zip->addFile($path,basename($path));  //向压缩包中添加文件

$zip->close(); //关闭压缩包

压缩多个文件

1

2

3

4

5

6

7

8

9

10

11

12

<?php

$fileList = array(

  "c:/wamp/www/log.txt",

  "c:/wamp/www/weixin.class.php"

);

$filename = "test.zip";

$zip = new ZipArchive();

$zip->open($filename,ZipArchive::CREATE);  //打开压缩包

foreach($fileList as $file){

  $zip->addFile($file,basename($file));  //向压缩包中添加文件

}

$zip->close(); //关闭压缩包

下载文件一、跳转到下载文件连接

$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"
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

sqlserver计算得到下个月1号

select CONVERT(varchar(10),DATEADD(m,+1 ,dateadd(dd,-day(getdate())+1,getdate())) ,23)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小飞鱼通达二开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值