随笔分类 -  PHP

摘要:<?php$str = "abc";$abc = "333";echo $$str;?>以上是正确的错误,以下是按常规字符串拼接思路做错的错误结果:<?php$str = "abc";$abc = "333";echo "$".$str;?> 阅读全文
posted @ 2013-02-01 19:37 洒洒 阅读(8773) 评论(0) 推荐(0) 编辑
摘要:last_insert_id():是sql函数,在数据库里执行,案例:select last_insert_id(); mysql_insert_id():是php函数,在php脚本里执行,案例:echo mysql_insert_id(); 阅读全文
posted @ 2013-01-19 18:46 洒洒 阅读(378) 评论(0) 推荐(0) 编辑
摘要:对于函数的引用,主要区别在于内存性能~function &load_message 和 function load_message,第一个在使用的时候也要用 &load_message声明为一个引用返回,而第二个只是将函数的结果赋值到一个变量中,该函数一般用于递归作用。 在php的引用中,还有一种常用的形式就是function gao(&$id) 和 function gao($id)这种形式的引用,我们只需要对比一下结果就可以了。 function a(&$t){ $t .= 'xx'; } function b($t){ $t .= ' 阅读全文
posted @ 2013-01-19 18:39 洒洒 阅读(240) 评论(0) 推荐(0) 编辑
摘要:一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的。但在多线程情况下,就不行了。在多用户交替插入数据的情况下max(id)显然不能用。这就该使用LAST_INSERT_ID了,因为LAST_INSERT_ID是基于Connection的,只要每个线程都使用独立的Connection对象,LAST_INSERT_ID函数将返回该Connection对AUTO_INCREMENT列最新的insert or update操作生成的第一个record的ID。LAST_INSERT_ID是基于单个connection的, 不可能被其它的客户端连接改变。 阅读全文
posted @ 2013-01-19 18:32 洒洒 阅读(215) 评论(0) 推荐(0) 编辑
摘要:1 <?php2 $a = 1;3 function abc(){4 global $a;5 echo $a;6 }7 abc();8 ?> 本来以为在这个php文件里,可以直接在函数中调用echo $a;后来发现并不是这样的,尽管在这个php文件的开头定义了$a;但是在函数中必须用global $a;声明$a为全局变量,$a才能在函数内被调用。 阅读全文
posted @ 2013-01-15 17:56 洒洒 阅读(245) 评论(0) 推荐(0) 编辑
摘要:在写一个test.php文件的时候,里面有php代码和html代码,以前写过很多次了,恰好这次出问题了,百思不得其解。 先看代码: 1 <?php 2 header("content-type:text/plain;charset=utf-8"); 3 date_default_timezone_set("Asia/Shanghai"); 4 //connect db; 5 $conn = mysql_connect("localhost","root","") or die(mysql_ 阅读全文
posted @ 2013-01-15 15:36 洒洒 阅读(2183) 评论(0) 推荐(0) 编辑
摘要:用ckeditor做的编辑器,但是在编辑文章的时候,发现按照常规方法按enter键换行时,两行之间的距离太大。点击“源码”查看时,发现按enter键换行竟然采用的是加<p></p>标签的形式,而不是加<br />标签的形式。 查阅资料后,才知道ckeditor默认的换行是:enter->加<p></p>,shift+enter->加<br />。 如果想改成直接按enter键就加<br />的形式,可以在配置文件里加:config.enterMode = CKEDITOR.ENTER_BR;conf 阅读全文
posted @ 2013-01-10 18:14 洒洒 阅读(4191) 评论(2) 推荐(0) 编辑
摘要:一、MySQL安装。 下载mysql安装版即可。很简单。 但是常见问题是:安装到最后的时候容易也是最多人出错的地方是:MySQL安装失败,提示:cannot create windows service for mysql.error:0总是在start service这步出错。 解决办法是:运行-cmd-sc delete mysql,运行成功后提示:delete success,然后再装MYSQL,即可! 如果还是不行,就干脆把以前安装的MySQL所有彻底删除即可! 注:如果之前安装过mysql是需要把之前的彻底清理干净才行的,清理的有:1.找到安装目录,删除安装文件;2.在C盘... 阅读全文
posted @ 2013-01-08 14:50 洒洒 阅读(623) 评论(0) 推荐(0) 编辑
摘要:数组或者字母命名的图片都能正常上传,但是中文命名的图片上传就会出错,看着像图片名中的中文经过urlencode()过了。无奈只好将图片重命名,方法如下: 1.找到ckfinder\core\connector\php\php5\CommandHandler\FileUpload.php中第51行,找到$uploadedFile = array_shift($_FILES);行代码,在下面加上重命名图片的代码:1 //给图片重命名2 $p = explode(".",$uploadedFile['name']);3 $p = "cf".ti 阅读全文
posted @ 2013-01-04 17:44 洒洒 阅读(441) 评论(0) 推荐(0) 编辑
摘要:urlencode()可以将非数字或者字母进行转换,比如转换中文字符,"/"等。转换后传值不会出错。 但是有以下误区常容易犯: 1.网页编码不同,urlencode后得到的值不同,这个时候需要将要转换的字符用iconv函数转一下,如:编码为GBK urlencode('脚步') = %BD%C5%B2%BD编码为UTF8 urlencode('脚步') = %E8%84%9A%E6%AD%A5 2.经过urlencode后,在浏览器里打开又转换成中文了: 解决办法:用iconv函数转一下。 阅读全文
posted @ 2013-01-04 17:39 洒洒 阅读(763) 评论(0) 推荐(0) 编辑
摘要:一、ckeditor: 1.在需要添加编辑器的页面引出ckeditor.js文件:<script type="text/javascript" src="ckeditor/ckeditor.js"></script>; 2.替换<textarea>:<textarea name="body" class="ckeditor" id="addBody"></textarea>,即在里面添加:class="ckeditor&quo 阅读全文
posted @ 2012-12-13 14:43 洒洒 阅读(377) 评论(0) 推荐(0) 编辑
摘要:1 <form action="__URL__/lists" method="POST"> 2 <input type="hidden" name="flag" value="search"> 3 标题:<input type="text" name="title" value="" class="queryInput"> 4 文章分类:<select name=" 阅读全文
posted @ 2012-12-12 10:49 洒洒 阅读(321) 评论(0) 推荐(0) 编辑
摘要:1 <?php 2 //如果答完题就跳转到结果页面 3 if($n==4){ 4 header("Location:result/index.htm"); 5 exit(); 6 } 7 8 $n = $n+1; 9 file_put_contents($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR."n.txt","00000000000000",LOCK_EX);10 ?> 如果header()跳转走后,不加exit();则会执行下面的写入语句(尽管跳转到另外 阅读全文
posted @ 2012-11-16 12:36 洒洒 阅读(38578) 评论(0) 推荐(0) 编辑
摘要:详解PHP中$_SERVER函数的QUERY_STRING和 $_SERVER存储当前服务器信息,其中有几个值 如$_SERVER["QUERY_STRING"],$_SERVER["REQUEST_URI"],$_SERVER["SCRIPT_NAME"] 和$_SERVER["PHP_SELF"]常常容易混淆,以下通过实例详解$_SERVER函数中 QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF变量区别,掌握这四者之间的关系,便于在实际应用中正确获 取所需要的值,供参 阅读全文
posted @ 2012-11-11 15:03 洒洒 阅读(2523) 评论(0) 推荐(1) 编辑
摘要:安装和使用php的mcrypt扩展 程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障。PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库和。 其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。PHP加密扩展库Mcrypt的算法和加密模式 Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示,结果如下: Mcrypt支持的算法有:cast-128 gost rijndael-128 ... 阅读全文
posted @ 2012-09-14 11:46 洒洒 阅读(1315) 评论(0) 推荐(0) 编辑