spArgs() 方法的大小写问题

#1 littleu

发现这个函数会将所有的数据转换为小写,请问有办法获取正确的字符串么?
举例说明下。

class test extends spController
{
        function index()
        {
                echo $this->spArgs('name');
        }
}



好,现在访问 http://localhost/test?name=Jake

打印出来的的是小写的 jake,而非正确的首字母大写的 Jake。

如何解决?

2011-05-02 15:07:15

#2 jake

spArgs没有对数据进行任何修改,spArgs是直接使用$_GET/$_POST的值。

这是部分浏览器的特性,会把地址栏传输的参数都转换成小写。

2011-05-02 23:36:15

#3 littleu

回复 2 jake


经过测试似乎不是浏览器的问题?

把 htdocs 下面的所有文件转移,新建一个 index.php
代码直接写
echo $_GET['name'];
?>
好,现在访问 http://localhost/index.php?name=Jake

是可以正常显示 Jake 的,并不会出现大小写转换的的问题...

Chrome/Firefox 都测试过了,没问题...

我找到问题所在了...我启用了 spUrlRewrite,似乎跟这个有关,这个 spUrlRewrite 有 bug...
源代码里面是这样的 strtolower(substr($_SERVER["REQUEST_URI"]...
需要 fix 一下,麻烦 Jake 了。

strtolower 的范围应该到?前截至。
比如一楼里的这个链接 http://localhost/test?name=Jake 经过处理后就真的变小写了,跟浏览器无关。SpeedPHP 欠考虑了这一点。

SpeedPHP 真的很不错,希望 Jake 再接再厉,也很高兴又帮忙找到了一个小 bug~

2011-05-03 00:11:42

#4 jake

:handshake 好的,谢谢楼上找出这bug,稍后将修正好:lol

2011-05-03 10:13:42

#5 maomaoweb

怎知修正啊。急急

2011-05-17 20:35:25

#6 maomaoweb

strtolower()为什么要强制转换成小写呢?

2011-05-17 20:51:52

#7 dhs789520

回复 4 jake

请问老大修正了这个问题了吗?,我的linux空间对文件大小写很敏感,所以不能读文件和目录,等待in....

2011-06-17 22:15:31

#8 dhs789520

回复 1 littleu

你解决了吗?给个方案先?

2011-06-17 22:17:53

#9 jake

。。。都用小写不就好了吗?linux很少有大写的东西。。。

2011-06-17 22:23:31

#10 dhs789520

回复 9 jake


    哈哈,JAKE 老大,我的空间里面的 SPEED PHP框架 文件夹的文件名可就是有大写有小写的啊,
我现在做一个文件管理系统,却没办法管理SPEED PHP里面的内容啊

2011-06-18 11:28:18

#11 dhs789520

回复 9 jake


    你自己的框架文件名就是有大写有小写的啊

2011-06-18 11:28:59

#12 jake

文件管理器?urlrewrite?

你可以想一下用get或者别的方法,不一定要用spArgs。

2011-06-18 11:45:06

#13 phpha

哈哈哈,同意楼上JAKE~

2011-06-18 11:47:07

#14 jake

UrlRewrite大小写问题已经修复,请从SVN上面下载最新框架。 :handshake

http://code.google.com/p/speedphp/source/detail?r=180

2011-06-22 07:36:45