PHP 第五天

 

紧赶慢赶,终于用PHP完成了一个CRUD的小模块,感觉自己写的不是很好,结构很是混乱,本来也想细细的架构一翻,可是时间不允许啊(下周还有新的任务)。用惯了ROR的框架发现整个人像个温室的花朵了,突然用起PHP感觉自己什么都不会了,编码的速度明显下降,唉~~ 突然想感叹一下MVC架构在构建WEB服务中起的作用是多么的大啊!

 

不过经过这两天不是很爽的编码,又让我重新认识了MVC架构,让我有一种很想一探究竟的冲动。目前对PHP的学习还处在对语法、函数库的熟悉阶段。以后学习的路还很长,切不可松懈、怠慢。习惯使用纯面向对象语言,在编写PHP的时候总是很想往对象、类这方面想。虽然PHP在面向对象方面显得有些单薄,但感觉它也正在慢慢的向面向对象过渡中,慢慢的强大起来。最近给我感受很深的是模式的重要性。无论是什么语言,只要拥有良好的思想都能编出很强悍的代码来。感概就这么多,下面接着总结PHP的东东。

 

文件上传:

首先说一说php.ini这个东东,它是php运行环境的配置文件,用来设置PHP可以使用功能的参数页,它是php的全局配置文件。但到底是什么时候被加载的,配置指令都是用来干什么的,有待研究。

 

PHP的文件上传方面比ROR做的好,语言本身已经替我处理的文件的读写过程,可以不用处理流,只用将文件从临时文件夹拷到目的地就OK了。

 

 

在文件上传方面有这样一段配置指令:

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M


; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20

 

文件上传后在服务器上的缺省目录是“C:\WINDOWS\Temp”

 

$_FILES超级全局变量很特殊,它是预定义的超级全局变量数组中唯一的二维数组。其作用是存储各种与上传文件有关的信息,下面具体说说它们:

  • $FILES['userfile']['error']数组值提供了与上传尝试结果有关的重要信息共有五个不同的结果:
    • 0 表示上传成功
    • 1 表示试图上传的文件超出upload_max_filesize指令指定的值
    • 2 表示试图上传的文件超出max_file_size指令指定的值
    • 3 表示试图上传的文件没有完全上传,如:出现网络故障4
    • 4 用户没有指定上传的文件就是提交表单
  • $FILES['userfile']['name'] 保存文件原始的名称,如:logo.gif
  • $FILES['userfile']['size'] 指上传的文件的大小,以字节为单位
  • $FILES['userfile']['tmp_name']指上传到服务器后为文件赋予的临时名 
  • $FILES['userfile']['type'] 指从客户端上传的文件的MIME类型。例如:image/jpeg

 

在写文件上传的时候会用到两个函数:

  • boolean is_uploaded_file(string filename) 确定输入的filename是否使用POST方法上传。
  • boolean move_uploaded_file(string filename,string destination(目的地)) 将上传文件从临时目录移动到最终目标的一个便利方法。虽然copy也同样好用,但是move_uploaded_file()还提供了一种额外的功能,它在拷贝前会先执行is_uploaded_file,所以如果用move_uploaded_file就不用再用is_uploaded_file了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值