php 调试利器debug_print_backtrace()和过滤掉上传图片的二进制数据

jackxiang 2012-8-9 13:20 | |
如果我们想知道某个方法被谁调用了? debug_print_backtrace可以解决
debug_print_backtrace() 可以打印出一个页面的调用过程 , 从哪儿来到哪儿去一目了然.
不过这是一个PHP5的专有函数,好在pear中已经有了实现,

PHP debug_backtrace() 函数生成一个 backtrace。
该函数返回一个关联数组。下面是可能返回的元素:
名称  类型  描述
function  字符串  当前的函数名。
line  整数  当前的行号。
file  字符串  当前的文件名。
class  字符串  当前的类名
object  对象  当前对象。
type  字符串  当前的调用类型,可能的调用:
返回: "->"  - 方法调用
返回: "::"  - 静态方法调用
返回 nothing - 函数调用
args  数组  如果在函数中,列出函数参数。如果在被引用的文件中,列出被引用的文件名。






如何从PHP的debug_backtrace结果中移除二进制数据?
在调试代码的时候我一般用debug_backtrace()函数来打出错误的堆栈信息,但是如果遇到文件上传或者图片上传的错误时,它会把文件或者图片的二进制信息都打出来。如下所示:

这样很影响错误信息的查看。不知道有没有方法可以将这些二进制数据屏蔽呢?

@可以对debug_backtrace()进行封装一下,将不需要的字段过滤掉就好了,以下是我稍微封装了一下,你可以看看。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/5477/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2012-8-9 13:23
评论列表
2012-10-31 21:30 | joixsee04zx Email Homepage
只有楼主这样具备广阔胸怀和完整知识体系的人,才能作为这真理的惟一引言者。看了楼主的帖子,我陷入了严肃的思考中。强力灌水啊~~不能沉啊~~
2012-8-26 00:55 | hxngb2of Email Homepage
支持楼主,长见识了
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]