Archive for the ‘PHP’ Category
Php圆周取点算法
星期一, 五月 27th, 2013 58 views本篇的重点其实是圆周取点算法,说是Php只是因为通过Php的进行编码而已,使用其他语言均可。
首先概述一下圆周取点算法的需求:以 O(Xo,Yo) 为圆心,d 为半径画一个圆,从圆心角0度开始,依次显示出在这个圆上直线间距为 t 的所有点的坐标。
如图:
在这个圆 O上所有直线间距为t的点的坐标为 P1、P2…Pn
接下来看算法:
①如上图,通过圆的简单定理可以知道在同一个圆上当两个扇形的弦长即 t 相等时,其圆心角也是相等的,因此本算法可以将 t 转换为圆心角度数再做计算:
SinO` = t / 2r
∠O` = arcsin(SinO`)
∠O = 2∠O`
此时即将弦长 t 转换成了对应的圆心角。
②接下来我们根据圆心角计算出对应的点的坐标,使用公式如下:
Xn = Xo + r * Cos(0°* (n-1))
Yn = Yo + r * Sin(0°* (n-1))
此时Pn(Xn,Yn)即是我们需要求出的圆上的点。
(更多…)
PHP常见BUG修复笔记(长期更新)
星期一, 三月 18th, 2013 29 views
1 2 3 4 5 | 错误提示:Fatal error: Call to undefined function session_register() in ... 错误原因: 版本错误 PHP4.2以上版本不需要用session_register()注册SESSION变量 修复方法: 去掉session_register() 直接用 $_SESSION["string"]=“string" 赋值 |
1 2 3 4 5 | 错误提示:Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by in ... 错误原因: 由于在调用Session_Start()之前有输出导致,任何空字符都不被允许 修复方法: 将session_start();.......?>放到文件首,并且<? 前面不能有任何字符。记事本编写后可能会产生空字符,DW下注意去掉BOM即可。 |
1 2 3 4 5 | 错误现象:session无法跨页传递 错误原因: 除了网上常有的几种原因之外,有一种特别诡异,即编码问题照成上文的错误,虽然是警告,但同时影响了session的使用,如果经过几种尝试,仍旧无法解决,多半是编码错误。 修复方法: 编辑php的配置文件php.ini中的 default_charset = “utf-8″ 即使php支持当前脚本的默认语言 |
1 2 3 4 5 | 错误提示:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ... 错误原因:返回结果集中行的数目, 其中result是无效的。原因较多,需要逐一检查,语句,字段名,数据库表结构来确定。 修复方法:逐一排查,确认数据库有此表结构字段名,确定无语法错误,确定编码集统一。 |
未完待续
BeiTown
2013.03.18
Php页面header跳转的方法及错误矫正
星期五, 十二月 21st, 2012 44 views因为准备架设双博客,所以把之前的技术博客移动到了网站根目录下的coder子文件夹,在WP后台修改了网站首页地址之后,Blog运行恢复正常。但是之前的一些外链比如 http://www.beitown.com/?p=420 此时无法链接到正确的文章页面。所以准备在根目录的index.php根据来路域名做一个判断及跳转。代码如下:
1 2 3 4 5 6 7 8 |
$_SERVER["QUERY_STRING"]表示查询(query)的字符串,浏览器通过http://www.beitown.com/?p=420地址访问index.php时,$_SERVER["QUERY_STRING"]的值为”?”之后的表达式,即p=420
通过stristr函数对url进行包含判断,如果含有表达式”p=”则进入相应的操作。
header函数意为跳转,使用方法参考demo
另外这里有一个错误介绍一下,如果在header前调用了echo会出现如下警告:
Warning: Cannot modify header information – headers already sent by….
解决办法是将echo去掉即可。
此时访问 http://www.beitown.com/?p=420将会跳转到新的文章页面即http://www.beitown.com/coder/?p=420中去。
BeiTown
2012.12.21