预览模式: 普通 | 列表

 一、单引号和双引号转义在PHP的数据存储过程中用得比较多,即往数据库里面存储数据时候需要注意转义单、双引号;

先说几个PHP函数:

1、addslashes — 使用反斜线引用(转义)字符串;

  返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。

查看更多...

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2425

关于 kindeditor提交空格问题的解决办法

 版本4.1.10

问题反馈:后台编辑器段首空格无法正常保存到数据库。

变通办法:早期,通知用户使用全角空格,但后面发现提交后显示正常,再次编辑时未出现空格。

最终解决办法:

修改 kindeditor.js 725行

部分我公司调整后的js行数为 752行

将本行修改为:

var re = /([ \f\n\r\t\v]*)<(\/)?([\w\-:]+)((?:\s+|(?:\s+[\w\-:]+)|(?:\s+[\w\-:]+=[^\s"'<>]+)|(?:\s+[\w\-:"]+="[^"]*")|(?:\s+[\w\-:"]+='[^']*'))*)(\/)?>([ \f\n\r\t\v]*)/g;


就是把第一个和最后一个 \s 替换成 [ \f\n\r\t\v]

修改前请注意备份

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1916

办法一:利用php自带函数解决。对于由kindeditor提交上来的数据用php中自带的函数 stripslashes 去除,但是这样是不是太浪费效率了,先转义,再去掉转义?

stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。

办法二:利用服务器环境解决。产生转义符号,应该不是kindeditor的问题。这个和PHP的配置有关。magic_quotes_gpc = Off

偏方:最好是不要关闭魔术转义,那样就失去了过滤的意义了。如果用的smarty模版,可以选择在输出的时候使用smarty函数 {$article.content|stripslashes}

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1909

php读取和保存base64编码的图片内容

PHP代码
  1. header('Content-type:text/html;charset=utf-8');  
  2. //读取图片文件,转换成base64编码格式  
  3. $image_file = './4296762_165319032930_2.jpg';  
  4. $image_info = getimagesize($image_file);  
  5. $base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($image_file)));  
  6.    
  7. //保存base64字符串为图片  
  8. //匹配出图片的格式  
  9. if (preg_match('/^(data:\s*image\/(\w+);base64,)/'$base64_image_content$result)){  
  10.   $type = $result[2];  
  11.   $new_file = "./test.{$type}";  
  12.   if (file_put_contents($new_filebase64_decode(str_replace($result[1], ''$base64_image_content)))){  
  13.     echo '新文件保存成功:'$new_file;  
  14.   }  
  15.    
  16. }  

<img src="<?php echo $base64_image_content;?>" />

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1682

SQL2008 的收缩日志 
由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
(SQL2005)
BackupLog DNName with no_log
go
dumptransaction DNName with no_log
go
USE DNName 
DBCC SHRINKFILE (2)
Go
--------------------------------------------------------------
(SQL2008):
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。

方案一:完全命令模式
USE[master]
    
GO
    
AlterDATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
    
GO
    
AlterDATABASE DNName SET RECOVERY SIMPLE   --简单模式
    GO
    
USE DNName 
    
GO
    
DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)
    
GO
    
USE[master]
    
GO

    
AlterDATABASE DNName SET RECOVERY FULLWITH NO_WAIT

    
GO

    
AlterDATABASE DNName SET RECOVERY FULL  --还原为完全模式

    
GO
方案二:部分命令模式 + 任务-收缩-文件(单个数据库)

AlterDATABASE DNName SET RECOVERY SIMPLE   --简单模式
GO

  右键-任务-收缩-文件-确定 下来数据库的日志只保留了1M

AlterDATABASE DNName SET RECOVERY FULL  --还原为完全模式

GO
优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内
即可完成。
缺点: 不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。

Tags: sqlserver

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1727

javascript判断浏览器是否允许弹窗

判断是否弹窗成功。

JavaScript代码
  1. var val = window.open(url);  
  2. if(!val){  
  3.    alert("请设置您浏览器允许弹窗");  

Tags: javascript

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1610

 广告位

↑返回顶部↑