php COM 连接ADODB.Connection数据库
$iishost = new com("npoint_m.host"); '加载组件
$r = $iishost->iisstate(10, 1, "", "", "", ""); '运行组件功能,返回参数
echo $r; '返回参数
切换net版本为
netstate(ifid, dirname, netver, iissapp, bkwebip, bkpass, webfiletype, bkport)
参数说明: ifid as ingeter : iis网站标识符
dirname as string : 目录名称 如: bbs 或 abcabdabe... 依此类推 dirname 为空 默认为站点
netver as string : .net版本号
iissapp as string : 切换的应用程序池名称 可留空(限独立进程池)
.net版本号(如: "v1.1.4322" 版本号在c:windowsmicrosoft.netframework里面.net文件夹名称)
注: 切换.net版本,除了独立进程池 其它的必须切换应用程序池 因为.net1.1 与 .net2.0... 不能共存
bkwebip as string : 被控访问网址/ip
bkpass as string : 被控访问密码
webfiletype as string : 被控站点文件格式 如: asp教程
bkport as integer : 被控站点端口 如: 999
* 成功返回 1 否则返回错误提示
下面看一个php教程 利用com 连接adodb.connection数据库教程*/
//access执行类
class db{
var $conn;
//var $rs_n;//记录当前rs的数量.
//建立链接
function create()
{
$this->conn = @new com("adodb.connection"); //这是13行
$str="driver=microsoft access driver (*.mdb);dbq=".realpath("./dbdata/yuan555.mdb ");
$$this->conn->open($str);
//return $this->$conn ;
}//建立方法
function query($sql)
{
$_rs = @new com("adodb.recordset");
$_rs->open($sql,$this->$conn,1,1);
return $_rs;
}
}//实例化类
$db=new db();
$db->create();
//--------------------------------
$rs=$db->query("select * from product");
$rs->close();
$rs = null; //但close完了,一定要 null 的
$db->close();
迅雷地址正则匹配代码
thunder://[a-za-z0-9]*
perl:
thunder://.+
用preg_replace()函数。
迅雷地址分不分大小写?不分的话用pregi_replace()
注明:文件上传能否成功要看你的写文件目录是否可用,表单与post获取的名是不是相同,以及php教程.ini中上传文件大小是不是在你可写范围之内。
<html>
<body><form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="submit" />
</form></body>
</html>
php代码。
<?php
$store_dir='d:upload'; //文件上传后存储在服务器的路径
$uploadfile="$store_dir".basename($_files['sendfile']['name']); //上传文件的原始名字
$uploadfile_tmp=$_files['sendfile']['name_tmp']; //上传文件的临时名字
$err_msg=$_files['sendfile']['error']; //上传文件时产生的错误信息if ($err_msg){
print "错误代码: $err_msg<br/>";
}
if (!is_writeable($store_dir)){ //检查上传的文件是否可写
print "$store_dir 目录不可写n";
exit;
}
else{
print "$store_dir 目录可写n";
}if(isset($_files['sendfile'])) {
if(is_uploaded_file($uploadfile_tmp)){ //检查上传的文件是否存在,如果存在则对其进行下一步操作
print "文件检验成功n";
}
else {
print "文件检验失败,可能遭受文件上传攻击!";
exit;
}
if (move_uploaded_file($uploadfile_tmp,$uploadfile)) { //对上传的合法文件,将其重命名并移动到服务器的上传文件夹中
print "文件上传成功n";
}
else{
print "移动文件失败,可能遭受文件上传攻击!";
exit;
}
print "文件上载成功!<br/>";
}
else{
print "文件上载失败!<br/>";
}
?>
1,拼接字符串
拼接字符串是最常用到的字符串操作之一,在php教程中支持三种方式对字符串进行拼接操作,分别是圆点.分隔符{}操作,还有圆点等号.=来进行操作,圆点等号可以把一个比较长的字符串分解为几行进行定义,这样做是比较有好处的.
2,替换字符串
在php这门语言中,提供了一个名字叫做substr_replace()的函数,该函数的作用可以快速的完成扫描和编辑文本内容较多的字符串替换功能.他的语法格式:
mixed substr_replace(mixed $string,string $replacement, int $start[,int $length])
对于上面的语法格式的说明:
string 是要检查或者将要被替换的字符串
replacement 指定要用来插入或者替换的字符串
start 指定在字符串的何处进行开始替换,这个参数可以取三种类型的值(正数:从字符串开头的第start个偏移量开始替换,负数,从字符串结尾处的第start个偏移量开始替换,0:从字符串中的第一个字符开始替换)
length指定要替换多少个字符,这个参数也可以取三种类型的值(正数:被替换的字符串的长度,负数:从字符串的结尾开始被替换的字符串的长度,0:是插入操作,而不是替换操作);
3,计算字符串
1)计算字符串的长度
在php中,strlen()函数用来计算字符串的长度并且返回该字符串的长度信息.该语法的格式如下:int strlen(string $string)格式里面的string就是用来指定要计算长度的字符串.
2)计算字符串的数目
在php中,substr_count()函数,可以用来非常方便而且准确的确定一个指定的子字符串在所提供的字符串中有多少个,substr_count()函数的语法格式如下:int substr_count(string $haystack,string $needle[,int $offset=0[,int $length]])在上面的语法中设计的参数的说明如下:haystack指定要检查的字符串,needle用来指定要插入的字符串,offset用来指定在字符串中何处开始搜索,默认值为0,length用来指定搜索的长度.
在php中,str_word_count()函数,可以用来非常方便而且准确的确定一个某一个单词在所提供的字符串中有多少个,str_word_count()函数的语法格式如下:mixed str_word_count(string $string[,int $format=0[,string $charlist]])在上面的语法中涉及到的参数的说明如下:string用来指定要进行检查的字符串,format用来指定str_word_count()函数的返回值,这个参数的返回值可以返回三个值,分别是0,1,2.其中返回0的意思是默认值,返回找到的单词的数目,如果返回值为1的话,那么str_word_count()返回的就是一个数组,其中的键名是从0开始的连续整数,值是实际的单词.如果format的值取3的时候,那么str_word_count()函数的返回值就是一个数组,其中,数组的键名是单词在字符串中的位置,值是实际的单词.
4,查找字符串
字符串的查找可以分为很多种,比如说查找子字符串,查找某个字符串的位置等等,php分别为每个字符串查找操作提供了相应的函数.
1)查找子字符串
在php语言中,strstr()函数可以用来查找子字符串,该函数返回的结果为子字符串第一次出现的所有的内容,strstr()函数的格式如下:string strstr(string $haystack,mixed $needle)在上面的语法中,涉及到的参数的说明如下haystack:指定被搜索的字符串,needle指定所要搜索的字符串,如果该参数是数字的话,则会匹配器该数字ascii值的字符.在实际的应用当中,会出现要忽略字母大小写的情况,这个时候,可以使用php提供的一个大小写不敏感的查找函数--stristr()函数,该函数的使用方法和strstr()函数的使用是一样的.
2)查找字符串的位置
strpos()函数的功能和strstr()函数是类似的,只是返回的不是字符串,而是一个字符串在另外一个字符串当中第一次出现的位置,strpos()的语法格式如下:int strpos(string $haystack,mixed $needle[,int $offset =0])在上面的语法中涉及到的参数的说明如下:haystack是要被搜索的字符串,needle指定要进行查找的字符串,offset是指定开始搜索的位置,默认值为0.
strpos()函数是一个对大小写敏感的查找函数,但是在实际的应用过程当中往往会出现需要忽略大小写的,这个时候可以使用php提供的一个对大小写不是很敏感的查找函数stripos(),该函数的使用方法和strpos()是一样的.
5,比较字符串
在php语言中,比较两个字符串的大小可以通过两种方式来实现:使用"=="操作符比较和使用函数进行比较
1)使用"=="操作符比较两个字符串的大小
在php中比较两个字符串的时候,最容易的方法就是使用双等号操作符(==).
2)使用函数比较字符串的大小
在php中提供的strcmp()函数可以更加精确的比较两个字符串的大小,语法格式如下int strcmp(string $str1,string $str2)在上述语法中涉及到的参数的说明如下:str1 指定要进行比较的字符串1,str2指定要进行比较的字符串2.这个strcmp谙熟可以确保两个字符串是否完全匹配,并将比较结果以整数的形式返回,这个函数的返回值有以下三种.0:两个字符串是相等的,小于0的时候,第一个字符串是小于后面的字符串的,如果返回值是大于零的,那么就说明,前面的字符串是大于后面的字符串的.
除了strcmp()函数之外,php还提供了另外一些比较类似的比较函数,比如strncmp()函数可以选择想要比较的字符串的长度(字符个数),其语法格式如下:int strcmp(string $str1,string $str2,int $len)上面的参数说明 str1:指定要比较的第一个字符串,str2:指定要比较的第二个字符串len:指定每个字符串用于比较的字符个数.
在比较字符串的时候,有的时候需要忽略大小写,就可以使用strcasemp()函数和strncasemp()函数,这两个函数与区分大小写的相应函数的使用方法是完全相同的,strcasecmp()函数和strncasecmp()两个函数的语法格式分别如下:
int strcasecmp(string $str1,string $str2)
int strncasecmp(string $str1,string $str2,int $len)
6,复制字符串
如果需要重复n次显示一个字符或者一个字符串的功能,则最简单的实现方法就是调用复制函数,在php中可以使用str_repeat()函数实现字符串的复制,这个函数的语法格式如下:string str_repeat(string $input,int $multiplier)在上述的语法中设计的参数的说明如下input指定要重复的字符串,multiplier指定字符串将被重复的次数.
7,翻转字符串
处理字符串的操作还包括对字符串进行翻转在php语言中,使用strrev()函数可以实现反转字符串的功能,strrev()函数的语法格式为
string strrev(string $string)
上面的参数string就是用于指定要进行翻转的字符串.
8,切分,合并字符串
把一个字符串按照某种规则切分成多个字符串,或者把多个字符串合并成一个长的字符串,是在处理字符串操作的时候会经常碰到的问题.使用php提供的explode()函数,str_split()函数,implode()函数可以处理类似切分,合并字符串的问题.
1)切分字符串
explode()函数的功能就是用指定的分隔符把字符串切分成数组,explode()函数的语法格式如下:array explode(string $delimiter,string $string[,int $limit])在上面的语法中涉及到的参数的说明如下:delimiter:指定在哪里分隔字符串,string:指定要进行分割的字符串,limit:指定所返回的数组元素的最大数目,最后的子块将会包含string的剩余部分.
str_split()函数的作用是能够将一个字符串分割成等长度的多个子字符串.str_split()函数的语法格式如下:array str_split(string $string[,int $split_length=1])上面的语法中的参数说明如下:string:指定要分割的字符串,split_length:指定每个数组元素的长度,默认值为"1".
2)合并字符串
implode()函数的功能是将数组的元素连接起来成为字符串,implode()函数的语法格式如下:string implode([string $glue],array $pieces)在上述的语法中涉及到的参数的说明如下:glue()指定数组元素之间放置的内容,默认值为""(表示空格字符串)pieces指定要合并为字符串的数组.调用implode()函数可以根据参数所限制的条件获取一个新的字符串,达到合并字符串的目的.
join()是implode()函数的别名,两个函数的用法是完全一样的,需要强调的是,虽然参数glue是可以选的,但是为了使程序拥有更好的兼容性,推荐使用两个参数.
总结一下字符串的相关操作方法:
<?php教程 //写cookie setcookie("user", "wang70937", time()+60); //session session_start(); if(isset($_session['views'])) $_session['views']=$_session['views']+1; else $_session['views']=1; echo "session: views=". $_session['views']."<br />"; ?> <script > function show(){ alert("asdf"); } </script> <html> <title>php测试页面 </title> <head><script src="clienthint.js"></script></head> <body> <?php //输出 echo "<br />"."[******输出******]"."<br />"; echo "hello world!"."<br />"; $a = "php"; $b = "language"; echo $a." ".$b."<br />"; //数组 echo "<br />"."[******数组******]"."<br />"; $arr = array("abcde", "fghijk", "lmnopq"); foreach($arr as $value) { echo $value."<br />"; } //函数 echo "<br />"."[******函数******]"."<br />"; function funa($a, $b){ echo "函数参数:".$a.", ".$b; return "ret_value"; } $ret = funa(123, "param"); echo "函数返回值:".$ret."<br />"; echo "<br />"."[******表单******]"."<br />"; ?> <form action="form.php" method="post"> name: <input type="text" name="name" /> age: <input type="text" name="age" /> <input type="submit" /> </form> <?php echo "<br />"; echo "<br />"."[******上传文件******]"."<br />"; ?> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="submit" /> </form> <?php //session echo "<br />"."[******session******]"."<br />"; //retrieve session data echo "pageviews=". $_session['views']; ?> <br /> <!-- //删除session --> <?php //echo "<br />"."[******删除session******]"."<br />"; // session_destroy(); ?> <?php //发送邮件 echo "<br />"."[******发送邮件******]"."<br />"; $to = "wang70937@163.com"; $subject = "test mail"; $message = "hello! this is a simple email message."; $from = "wang70937@gmail.com"; $headers = "from: $from"; mail($to,$subject,$message,$headers); echo "mail sent."."<br />"; ?> <?php //mysql教程数据库教程 echo "<br />"."[******mysql数据库******]"."<br />"; $con = mysql_connect("localhost","root","1"); if (!$con) { die('could not connect: ' . mysql_error()); } else echo "连接mysql成功!"."<br />"; mysql_select_db("bbs", $con); mysql_query("set names gbk"); //show tables $tablecount = mysql_query("show tables"); while($table = mysql_fetch_array($tablecount)) { //表名 $tablename = $table[0]; $sql = "select * from ".$tablename; $result = mysql_query($sql); echo "<br />表:[".$tablename."]<br />"; //表的字段个数 $filedcount = mysql_num_fields($result); //记录条数 $recordcount = mysql_num_rows($result); echo "sql[".$sql."] 记录条数:".$recordcount."<br />"; if($filedcount > 0 ) { echo "<table border='1'>; <tr> <th>记录序号</th>"; for($index=0; $index<$filedcount; $index++) { //字段名 $filedname = mysql_fetch_field($result); echo "<th>$filedname->name</th>"; } echo "</tr>"; $no = 0; while($row = mysql_fetch_array($result)) { $no = $no + 1; echo "<tr>"; echo "<td>" . $no . "</td>"; for($index=0; $index<$filedcount; $index++) { echo "<td>" . $row[$index] . "</td>"; } echo "</tr>"; } echo "</table>"; } } mysql_close($con); ?> <?php //xml解析 echo "<br />"."********xml解析********"."<br />"; /*$xmldoc = new domdocument(); $xmldoc->load("note.xml"); $x = $xmldoc->documentelement; foreach ($x->childnodes as $item) { print $item->nodename . " = " . $item->nodevalue . "<br />"; }*/ $xml = simplexml_load_file("note.xml"); echo $xml->getname() . "<br />"; foreach($xml->children() as $child) { echo $child->getname() . ": " . $child . "<br />"; } ?> <?php //ajax echo "<br />"."*******ajax*******"."<br />"; ?> <form> first name: <input type="text" id="txt1" //onkeyup="showhint(this.value)" onkeyup="show()"> </form> <p>suggestions: <span id="txthint"></span></p> </body> </html>
相关文章
- 操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
- 本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
- 最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
- 这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
- 这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
Antd-vue Table组件添加Click事件,实现点击某行数据教程
这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17- 这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
- 这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
- 在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
- 这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
- C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
- 通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
- 在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
- 某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
- 这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
- mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
- 1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23
- 这篇文章主要介绍了postgresql数据添加两个字段联合唯一的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-04
- 这篇文章主要介绍了c#从数据库里取得数据并异步更新ui的方法,大家参考使用吧...2020-06-25
Vue生命周期activated之返回上一页不重新请求数据操作
这篇文章主要介绍了Vue生命周期activated之返回上一页不重新请求数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-26