工作后就很少有兴趣写些技术层面的东西,作为补充,只在水缸博客(http://shuigang.bokenw.com)中发些神经而已.恩,犹豫了很久,是否应该在C++博客上搞点PHP,即网站开发所用到的经典事例,而后还是觉得写在这里合适些.私人生活和工作应该完全分开,这么做很有必要!
下面我们来说点正事.
首先,利用PHP的确可以实现文件的上传功能.(客户端的浏览器应该是Netscape 3以上或者IE 3以上的版本)
开工之前我们需要将PHP配置文件(PHP3.0为php3.ini,PHP4.0为php.ini)做如下设置:
将;upload_tmp_dir该行的注释符(即前面的分号)去掉,使该行在php.ini文档中起作用.upload_tmp_dir是用来定义上传文件的存放的临时路径,在这里还可以给其定义一个绝对路径,例如:upload_tmp_dir=d:\upload.当然,此时你的d:\upload目录必须有读写权限.
如果在.php程序里已经定义了上传的路径,此时上传文件的路径以.php程序里定义的路径为基准.
upload_max_filesize是用来限制PHP处理上传文件大小的最大值,以字节计算,默认值为2097152=2*1024*1024字节(2M),可通过修改默认值来定义最大上传文件的大小.
修改后不要忘了重启Apache、IIS或PWS服务器.
在PHP文件上传中,最重要的就是文件系统函数copy()的使用.
boolean copy(string source,string target)
说明如下:1.该函数用于文件的拷贝,同主机或跨系统均可.
2.参数source:源文件地址,在实际开发中可用form中的file组件来传递.
3.参数target:目标文件地址,但你必须拥有该目录的写文件权限,这在某些免费主页空间中是不可能的.
4.返回值为布尔值,成功为1,失败为0.
下面是一个最简单的文件上传实例,命名为simple_upload.phop,代码如下:
文件上传
该例首先是一个简单的上传网页界面,然后通过submit按钮判断是否已提交,如果已提交则进行上传处理,上传目录要有写权限.