关于PHP的几个小问题

来源:互联网 发布:ios程序员工资一般多少 编辑:程序博客网 时间:2024/05/22 22:15
最近做的事情做一个总结吧,另外把碰到的一些疑难杂症记录下来。

公司项目组是开发一个P2P的Flash播放器,开发工作基本完成,现在做的就是测试、优化。而我做的事情就是分析测试时产生的大量数据。因为每一次晚上测试,局域网内十几台机器,其实产生的数据很小,一晚上下来日志都在1G之内。我刚开始的时候用Hadoop编写程序处理。Hadoop的编程的特点是要让程序逻辑简单,数据越多越能体现它的优越性,所以对于这些不多的数据,我不但要分很多小模块来计算不同的参数指标,而且每个模块的计算时间都很长,所以后来我直接改成了普通的java编程,速度快了很多。

因为日志比较复杂,里面都有上百个字段,所以处理起来,程序写的比较长。当程序达到一定的规模的时候,我越来越发现自己对大型的程序组织架构的经验的缺乏,因为后来我老是忘记写过的那些方法的作用,变量也不知道什么时候用什么样的变量。在编程的过程中,我使用最多的容器是HashMap,我突然发现这个东西是那么的重要,我离开了它基本就无法完成我的程序。

程序勉强写完,数据也能够处理,然后焕英哥说最好能把这些数据结果画出图形来,分析起来更直观,而且最好做一个小系统,能在网页上查看这些结果。于是我安装了PHP,Aparche,MySQL,形成了传说中的LAMP系统。但是我的网页写的及其简单,都是用gedit手工写的代码,没有借助任何开发环境,我也懒得去弄,心想重要的是内容,不是形式。但主要还是我懒得去弄,斌斌的就写的非常漂亮,挺羡慕的。

还有,那个gnuplot画图真是挺方便的。

在写PHP代码时,碰到几个问题,都逐一解决了,这应该记下来。

1,取到文件名,却打不开文件。
页面中要显示不同的播放器的统计信息,每个播放器的这些信息保存在以自己播放器编号命名的文件中,编号全是数字。我从上一个页面的超链接上传来这个播放器编号,然后用GET取出来,拼成文件名,打开文件,一直不成功,显示打不开文件。我试了很多方法,而且对照那个路径,眼睛都看花了,也没看出错误。后来我打印这个编号的长度,发现了问题,明明是10位数字的编号,却显示长度为12,我纳闷为什么会这样,难道还带有无法显示字符串?但不管怎么这样,我给这个字符串加了个0,然后再进行操作,发现就变成原本的长度了,组成的文件路径名,也可以正确的打开了。郁闷了大半天。

2,<img>标签显示不了图片??
这个问题到网上搜了很久,大家都说你是路径不对,绝对是路径不对,我用了各种方法,各种对比,输出路径名,用绝对路径名,相对路径名,都不行。最后突然发现,在浏览器地址栏里打开图片时,他显示了一个url地址名。于是我发现<img src = "">里面的src不能写文件的路径名,要写成“localhost/.....”这样的形式,才能正确显示图片。这件事我搞了几乎三四个小时,真是把我气的不轻。

3,PHP调用shell好鸡肋。
本有个任务,需要PHP页面调用java类,后来因为一直试不通就没那么做了。我发现,按照网上一个哥的方法,写一个PHP,用shell_exec函数调用sh脚本文件,根本就不能执行脚本文件中的java命令,但是,直接在shell_exec函数里写java命令,执行java类又可以,但是就是写在sh脚本里的java命令不能执行,不懂为什么。还有最开始我傻逼了,发现脚本文件怎么执行不了,所因为我没有给那个脚本文件可执行的权限,真是坑爹。

原创粉丝点击