PHP 中由于数组和字符串这两种变量类型是如此常用,以至于 PHP 具有两个函数,可以在字符串和数组之间互相进行转换。
$array=explode(separator,$string);
$string=implode(glue,$array);
使用和理解这两个函数的关键之处是分隔符(separator)和胶合符(glue)关系。当把一个数组转换成一个字符串时,将会设置胶合符——将被插入到生成字符串中的数组值之间的字符或代码。相反,当把字符串转换成数组时,要指定分隔符,它用于标记什么应该变成独立数组元素。例如,以字符串开始:
$s1=’Mon-Tue-Wed-Thu-Fri’;
$days_array=explode(’-',$s1);
$days_array 变量现在是一个有5个元素的数组,其元素 Mon 的索引为0,Tue 的索引为1,等等。
$s2=implode(’,',$days_array);
$s2 变量现在是一个用逗号分隔的一个星期中各天的列表:Mon,Tue,Wed,Thu,Fri
通过SQL语句导出数据
1
2
| bcp "select * from info..info where date between '2010-02-01' and
'2010-02-04'" queryout "d:\info.out" -SST0P-PC\SQLEXPRESS -Usa -P123456 -c |
直接导出数据库表的数据
1
| bcp 库名.dbo.表名 out d:\表名.dat -T -n |
其中-S后的ST0P-PC\SQLEXPRESS是我本地的服务器名称
-U后的是用户名
-p后的是密码
输入bcp/?查看帮助
用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件
[-m 最大错误数] [-f 格式化文件] [-e 错误文件]
[-F 首行] [-L 末行] [-b 批大小]
[-n 本机类型] [-c 字符类型] [-w 宽字符类型]
[-N 将非文本保持为本机类型] [-V 文件格式版本] [-q 带引号的标识符]
[-C 代码页说明符] [-t 字段终止符] [-r 行终止符]
[-i 输入文件] [-o 输出文件] [-a 数据包大小]
[-S 服务器名称] [-U 用户名] [-P 密码]
[-T 可信连接] [-v 版本] [-R 允许使用区域设置]
[-k 保留空值] [-E 保留标识值]
[-h"加载提示"] [-x 生成 xml 格式化文件]
来源:互联网
mysqldump是备份mysql数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。
操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock table的权限就足够了。所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏。
在备份数据库之前我们要做足准备功夫,首先创建了执行备份操作的数据库用户——backup,密码为:123456。其次,确定我们要备份哪个数据库,放在哪里。然后,确定数据库的备份文件要放到哪里。
假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为backup_test的数据库,并把备份文件放到D:\bak\的文件夹中。又假设我们的操作系统为windows xp,于是我们可以用以下的方法执行备份操作:
我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:
mysqldump -ubackup -p123456 -h 192.168.1.2 backup_test > D:\bak\bakcup.sql
在这段命令中:
mysqldump 是myqldump的程序名了;
-u 是数据库的用户名,后面紧跟着用户名backup;
-p 是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;
-h 是数据库的地址,如果没有此项表明是备份本地的数据库;
backup_test 要备份的数据库名称;
> 表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。
一旦执行该命令后,mysqldump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。
如果把这个命令写成批处理文件,通过windows的计划任务可以实现定时备份数据。
在windows下用mysqldump备份数据库,因为没有gzip的压缩引擎,因此不能对备份数据库进行压缩,因此如果备份文件多了要经常清理过期的数据库备份文件。
嘎嘎,在群里看到xi4oyu发的一个后台的登陆验证部分,当登陆不成功是通过javascript来转向的,但他没有控制后面的输出是否停止,这就引起,当用户浏览器禁用JAVASCRIPT的时候,登陆验证失效,可以直接登陆。
1
2
3
4
5
6
7
8
9
10
11
12
| <?php
include("functions.inc.php");
if(!logged_in()) {
echo<<<EOD
<script language="JavaScript">
alert("登陆失败!");
location.href="index.php";
</script>
EOD;
}
?> |
其中logged_in()应该是检测是否登陆的函数,不管结果是正确的还是错误的,只要调过去后面的JAVASCRIPT转向,这个都等于虚设。
在ASP中,我们碰到上面的问题,其实只需要在输出错误信息后,直接一个Response.End就搞定了。但PHP中没有,我们就可以在上面加一个Exit;即可
1
2
3
4
5
6
7
8
9
10
11
12
13
| <?php
include("functions.inc.php");
if(!logged_in()) {
echo<<<EOD
<script language="JavaScript">
alert("登陆失败!");
location.href="index.php";
</script>
EOD;
Exit;
}
?> |
TinyURL是一个缩短网址的Web服务,可以把很长的网址变成简单的地址,通常创建TinyURL的方法是去其主页创建,有时候会有用户在客户端自动生成TinyURL的情况,这里介绍一个通过PHP调用TinyURL生成缩短地址的方法。
TinyURL API的PHP函数如下
<?php
function TinyURL($u){
return file_get_contents('http://tinyurl.com/api-create.php?url='.$u);
}
?>
调用的例子是
<?php
$url = 'http://www.williamlong.info/';
$tiny = TinyURL($url);
echo('The TinyURL of "'.$url.'" is "'.$tiny.'"');
die();
?>
转自:http://www.williamlong.info/archives/1797.html
< %
'by xilou,www.chinacms.org,20090115
'最后更新:20090115
'修改记录:无
CONST CACHEPREFIX = "CACHE_" '缓存前缀,不能为空
'说明:
' 1,缓存的格式为Application(CACHEPREFIX & key) = array("缓存key","缓存时间","缓存内容","缓存说明","到期时间")
' 2,缓存key不区分大小写
'添加缓存,不检查缓存是否存在,如果存在则相当于更新缓存
'varAry : 参数,格式为:array("缓存key","缓存时间","缓存内容","缓存说明")
' 缓存key :application()格式相同
' 缓存时间:单位秒,可以为负数,表示立即过期,可以为空,空或不是数字则默认为20分钟过期
' 缓存内容:缓存数据,不支持对对象的缓存
' 缓存说明:缓存描述说明
Function AddCache(varAry)
Dim c,ary(4)
If Not IsArray(varAry) Then
Response.Write "Error:AddCache(varAry)参数错误,参数不是数组"
Response.End()
End If
If UBound(varAry) <> 3 Then
Response.Write "Error:AddCache(varAry)参数错误,数组长度错误"
Response.End()
End If
If varAry(0) = "" Then
Response.Write "Error:AddCache(varAry)错误,key不能为空"
Response.End()
End If
If varAry(1) = "" or Not IsNumeric(varAry(1)) Then varAry(1) = 1200
Application.Lock()
Application(CACHEPREFIX & varAry(0)) = array(varAry(0),varAry(1),varAry(2),varAry(3),DateAdd("s",varAry(1),Now()))
Application.UnLock()
End Function
Read the rest of this entry
asp事件类,功能说明:
1,showInfo(e_title,c_url,e_num,e_des,e_time,opera,ip,reurl):显示错误信息
2,getIP():取得客户IP
3,checkPost():验证是否是站外提交
4,getReferer():来路记录
5,getCurURL():取得当前页面路径
6,isRefresh(s1,s2,maxtimes):防刷新 Read the rest of this entry