紧赶慢赶,终于用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了。
分享到:
相关推荐
10天学会php (word版) 十天学会PHP之第八天.doc 十天学会PHP之第二天.doc 十天学会PHP之第九天.doc 十天学会PHP之第六天.doc 十天学会PHP之第七天.doc ...十天学会PHP之第五天.doc 十天学会PHP之第一天.doc
9. **面向对象编程**:虽然PHP5引入了面向对象的概念,但第五天的学习可能还未深入到这个部分。不过,了解类、对象、继承、封装和多态的基本概念对后续学习至关重要。 10. **Web交互**:PHP常与HTML、CSS、...
"十天学会PHP之第一天"作为一个学习计划的起点,旨在为初学者提供一个快速掌握PHP基础知识的路径。PHP(Hypertext Preprocessor,超文本预处理器)以其开源、免费、易于学习的特点,成为许多开发者入门编程的首选。 ...
1. **PHP环境搭建**:学习第一天,首先需要安装PHP运行环境,通常包括PHP解释器、Web服务器(如Apache或Nginx)以及数据库(如MySQL)。通过XAMPP或WAMP等集成环境可以简化这个过程。 2. **PHP语法基础**:了解PHP...
第五天:PHP与MySQL数据库交互 PHP常与MySQL数据库配合使用,进行数据存储和检索。学习如何建立数据库连接,执行SQL查询,插入、更新和删除数据是PHP开发的重要环节。PHP提供了一系列MySQLi或PDO扩展来实现这一目标...
第五天:数组处理 PHP提供了强大的数组处理功能,第五天将详细介绍如何创建和操作数组,包括一维数组、多维数组,以及遍历数组的方法,如foreach。你还将学习到数组函数,如array_push(), array_pop(), sort(), ...
在本压缩包“PHP从入门到精通(第5版)第5章 PPT.zip”中,我们可以预见到它包含了关于PHP编程语言深入学习的内容,特别是第5章的讲解。PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发,能够嵌入到HTML中,...
PHP和MySQL Web开发第五版代码,目前我只学习完了第二篇,这些代码还是按照第四版的进行学习,第一篇已经按照第五版修改完。没有积分的同学,可以去本人的GitHub中下载:https://github.com/Relph1119/phpmysql4e
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、...
在“十天学会php之第1-10天”的教程中,我们将逐步学习PHP的基础知识,包括变量定义、流程控制和数据库操作等,旨在帮助新手快速入门PHP编程。 1. **PHP嵌入方法**: PHP代码可以使用`<?php ... ?>`或者简写`...
PHP和MySQLWeb开发,作者为LukeWellingLauraThomson,本书将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并包括几...
第五天,会讲解数组的深入应用,包括一维数组、多维数组以及数组操作函数,如遍历、查找、排序和合并等。 第六天,教程将介绍字符串处理,包括字符串的创建、访问和修改,以及各种字符串函数,如concatenation...
如何在十天内学会php之第一天 如何在十天内学会php之第二天 如何在十天学内会php之第三天 如何在十天学内会php之第四天 如何在十天内学会php之第五天 如何在十天内学会php之第六天 如何在十天内学会php之第七天 如何...
《21天学通PHP》是一本旨在帮助初学者快速掌握PHP编程技能的教程,由经验丰富的作者白志强和白志刚共同编写。书中的内容结构严谨,覆盖面广,适合那些希望在短时间内入门PHP编程的读者。以下是根据标题、描述以及...
在“PHP5与MYSQL5 web开发技术详解 第五章”这一主题中,我们将深入探讨这两个核心技术在构建Web应用程序时的协同工作方式。PHP5作为服务器端脚本语言,与MySQL5这种关系型数据库管理系统(RDBMS)的结合,为开发者...
第5天:文件系统操作 PHP提供了丰富的文件系统函数,让你可以读取、写入、移动和删除文件。你将学习如何打开和关闭文件,读取内容,以及如何处理目录。 第6天:表单处理与HTTP请求 了解如何处理用户通过HTML表单...
**第五天:会话管理** 学习PHP的session和cookie机制,理解它们在用户身份验证和保持状态中的作用,以及如何创建、修改和销毁session和cookie。 **第六天:错误与异常处理** 了解PHP的错误报告级别,掌握error_...
5. **第五天:数组** - 数组的定义:一维数组、二维数组、关联数组。 - 数组操作:遍历数组,数组函数(count,sort,rsort,array_push,array_pop等)。 6. **第六天:字符串处理** - 字符串定义和操作:字符...
在PHP5中,文件与目录的操作是Web开发中不可或缺的一部分,尤其对于数据存储、日志记录、用户上传等功能。本章将深入探讨这些关键概念。 **5.1 文件操作** 文件操作是PHP5中的基本功能,包括普通文件操作和数据库...