四、文件的上传

1、客户端设置:

(1)、在标签中将enctype和method两个属性指明相应的值。

 

Enctype="multipart/form-data"; Method="POST"

(2)、form表单中设置一个hidden类型的input框,其中name的值为MAX_FILE_SIZE的隐藏值

2、服务器端设置:

(1)、$_FILES多维数组:用于存储各种上传文件有关的信息

(2)、文件上传与php配置文件的设置,如以下php.ini文件中的一些指令

指令 默认值 功能描述

file_uploads ON 确定服务器上的PHP脚本是否可以接受HTTP文件上传

memory_limit 8M 设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存

upload_max_file 2M 限制PHP处理上传文件大小的最大值,此值必须小于POST_MAX_SIZE值

post_max_size 8M 限制通过POST方法可以接受信息的最大值

upload_tmp_dir NULL 上传文件的临时路径,可以是一个绝对路径

 

  1.    


 

3、PHP的文件上传及资源指令

file_uploads(boolean)

是否开启HTTP POST文件上传功能

max_execution_time(integer)

PHP脚本最长执行时间

memory_limit(integer) 单位M

PHP脚本运行的最大内存

upload_max_filesize(integer) 单位M

PHP上传文件的最大尺寸

upload_tmp_dir(string)

上传文件存储的临时位置

post_max_size(integer) 单位M

HTTP POST数据的最大尺寸

4、$_FILES数组

$_FILES['userfile'][size]

获取上传文件的字节数

$_FILES['userfile']['type']

获取上传文件的MIME类型,每种MIME类型都是由“/”分隔的主类型和子类型组成

$_FILES['userfile']['error']

获取上传文件的错误代码,0:无任何错误,文件上传成功;1:上传文件大小超出了PHP配置文件中upload_max_filesize选项限定的值;2:上传文件大小超出了HTML表单中MAX_FILE_SIZE指定的值;3:表示文件只被部分上传;4:表示没有上传任何文件。

$_FILES['userfile']['name']

获取上传文件的原始名称,包含扩展名

$_FILES['userfile']['tmp_name']

获取上传文件的临时位置名称,这是存储在临时目录中所指定的文件名。

5、文件上传函数

is_upload_file

判断指定的文件是否是通过HTTP POST上传

bool is_upload_file(string $filename)

move_upload_file

将上传文件移至新位置

bool move_upload_file(string $filename, string $destination)

注意:文件上传后,首先会存储于服务器的临时目录中,可以使用该函数将上传文件移动到新位置,与copy()和move()相比,它能检测并确保第一个参数filename指定的文件是否是合法上传的文件。

6、错误信息描述

UPLOAD_ERR_OK{value=0}

UPLOAD_ERR_INI_SIZE{value=1}

UPLOAD_ERR_FORM_SIZE{value=2}

UPLOAD_ERR_PARTIAL{value=3}

UPLOAD_ERR_NO_FILE{value=4}

UPLOAD_ERR_NO_TMP_DIR{value=6}

UPLOAD_ERR_CANT_WRITE{value=7}


 

 

二、文件下载

 

 

简单文件下载只需要使用HTML的链接标记,并将属性href的URL值指定下载的文件即可。这种方法只能处理一些浏览器不能识别的MIME类型文件。

 



 

为了提高安全性,不希望在a标签中给出文件链接,则必须向浏览器发送必要的头信息,我们可以使用如下代码。

 

三、文件函数库

touch

设置文件的访问和修饰时间

bool touch(string $filename[, int $time[, int $time]])

copy

复制文件

bool copy(string $source, string $dest)

注意:移动文件请使用rename函数

file_put_contents

将一个字符串写入文件

int file_put_contents(string $filename, string $data[, int $flag[, resource $content]])

file_get_contents

将整个文件读到字符串

string file_get_contents(string $filename[, bool user_include_path [, resource $content[, int $offset[, int $maxlen]]]])

 

四、序列化与反序列化

serialize

序列化

string serialize(mixed $value)

注意:serialize()可处理除了resouce之外的任何类型。甚至可以serialize()那些包含了指向其自身引用的数组。

unserialize

反序列化

mixed unserialize(string $str)

● date

格式化一个本地时间/日期

string date(string format[, int timestamp]);

● getdate

取得日期/时间信息

array getdate([int timestamp]);

 

● microtime

返回当前Unix时间戳和微秒数

mixed microtime([bool get_as_float]);

● date_default_timezone_set

设置默认时区

bool date_default_timezone_set(string timezone_identifier);

● date_default_timezone_get

获取默认时区

string date_default_timezone_get(void);

三、字符函数库

strlen

获取字符串长度

int strlen(string $str);

strtolower

字符串转换为小写

string strtolower(string $str);

strtoupper

字符串转换为大写

string strtoupper(string $str);

ucfirst

首字母大写

string ucfirst(string $str);

ucwords

将每个单词的首字母转换为大写字母

string ucwords(string $str);

ltrim

从字符串开始的位置删除空格或其他字符

string ltrim(string $str [, string $charlist]);

rtrim

从字符串结束的位置删除空格或者其他字符

string rtrim(string $str[, string $chirlist]);

trim

从字符串开始和结束的位置删除空格或者其他字符

str_replace

字符替换

mixed str_ireplace(mixed $search, mixed $replace, mixed $subject, [int $count]);

str_ireplace

 

字符替换

mixed str_ireplace(mixed $search, mixed $replace, mixed $subject, [int $count]);

md5

 

计算字符串的MD5哈希

string md5(string $str[, bool $raw_output=false]);

strpos

返回一个字符在另一个字符第一次出现的位置

int strpos(string haystack, mixed needle[, int offset]);

时间: 2024-09-27 15:59:30

四、文件的上传的相关文章

用ASP实现文件直接上传功能

上传 引言 采用WEB技术实现B/S(浏览器/服务器)结构的管理系统是办公自动化的发展趋势.基于WEB技术的管理系统,由于开发周期短:与用户平台无关:易于实现交互式应用:能对信息进行快速.高效的收集.处理和发布,近几年来得到了迅速发展.而ASP技术由于其开发效率高.交互性好,安全性强等特点,逐渐成为开发管理系统的首选工具. 许多基于WEB的应用都涉及文件上传操作.常见的文件上传技术有:基于HTTP协议的:基于VB(或DELPHI等编程语言)开发的文件上传组件的:基于数据库技术的等等.这些方法一般

PHP文件的上传下载

一.文件的上传 1.客户端设置: (1).在 标签中将enctype和method两个属性指明相应的值.&nb [-] 一.文件的上传 1.客户端设置: (1).在 二.文件下载 简单文件下载只需要使用HTML的链接标记,并将属性href的URL值指定下载的文件即可.这种方法只能处理一些浏览器不能识别的MIME类型文件. 为了提高安全性,不希望在a标签中给出文件链接,则必须向浏览器发送必要的头信息,我们可以使用如下代码. 三.文件函数库 touch 设置文件的访问和修饰时间 bool touch

利用ASP技术实现文件直接上传功能

上传|上传 摘要: 本文首先比较了几种常见的文件上传技术,然后通过实例介绍了利用ASP技术直接实现文件上传的具体方法. 关键词:ASP:文件上传:二进制数据 引言 采用WEB技术实现B/S(浏览器/服务器)结构的管理系统是办公自动化的发展趋势.基于WEB技术的管理系统,由于开发周期短:与用户平台无关:易于实现交互式应用:能对信息进行快速.高效的收集.处理和发布,近几年来得到了迅速发展.而ASP技术由于其开发效率高.交互性好,安全性强等特点,逐渐成为开发管理系统的首选工具. 许多基于WEB的应用都

PHP移动互联网开发笔记(5)——文件的上传下载

一.文件的上传 1.客户端设置: (1).在 标签中将enctype和method两个属性指明相应的值. Enctype="multipart/form-data"; Method="POST" (2).form表单中设置一个hidden类型的input框,其中name的值为MAX_FILE_SIZE的隐藏值 2.服务器端设置: (1).$_FILES多维数组:用于存储各种上传文件有关的信息 (2).文件上传与php配置文件的设置,如以下php.ini文件中的一些指

用户登录-毕设做一个基于安卓的手机网盘,该怎么实现文件加密上传?

问题描述 毕设做一个基于安卓的手机网盘,该怎么实现文件加密上传? 总不能在服务器端随便看到上传的文件吧?还有我只做了上传下载和对服务器端文件的查询删除修改的功能,需不需要做用户登录,用户登录要用数据库做吗? 解决方案 这种数据存储做好是分段加密存储,用文件的CRC校验码做文件名,然后做个列表文件,文件中记录这个文件的一些信息,以及文件是由哪些CRC校验码的文件组成的,以后下载时根据这个文件来组合会原来的文件 这样,在服务器上不会出现很大的数据,客户端处理起来也占资源少 比如你先读取这个文件的CR

文件的传输-求源代码(文件的上传和下载)

问题描述 求源代码(文件的上传和下载) 好心人分享一份基于UDP的文件的上传和下载源代码呗!!!!谢谢! 解决方案 http://download.csdn.net/detail/xsl1990/4970910 解决方案二: 这个可以实现你想要的 http://blog.csdn.net/baidu_33396702/article/details/50327095 解决方案三: Java文件下载和上传源代码 解决方案四: 很 多 的

用C#写个WinForm应用程序,如何能实现到www.docin.com的文件批量上传

问题描述 用C#写个WinForm应用程序,如何能实现到www.docin.com的文件批量上传,请各位发表下看法,或者有什么好的思路 解决方案 解决方案二:用webClient循环上传~解决方案三:能具体点吗?谢谢!!!解决方案四:我要把文件上传到他们的网站上啊.如果是只在他们网站上传的话一次只能一篇.我想批量传一下.我用C#写WinForm程序,1.第一个窗体里用一个WebBrowser控件来转到www.docin.com的网址,然后通过这个网址登陆.2.登陆过后点击一个自己设置的批量上传按

wpf-WPF 项目中如何实现文件的上传和下载

问题描述 WPF 项目中如何实现文件的上传和下载 WPF 项目中如何实现文件的上传和下载功能,本人WPF初学者,求大神给一两个简单易懂的例子. 解决方案 参考WPF用流的方式上传/显示/下载图片文件(保存在数据库)WPF文件上传与下载功能 解决方案二: http://silverlightchina.net/html/study/WPF/2011/0512/7580.html http://www.th7.cn/Article/bc/wpf/201105/20110524082359.html

文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现

----------------------------------------------------------------------------------------------[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52557755作者:朱培      ID:sdksdk0      ------------------------------------------------

文件上传 pring-文件上传怎么实现读个文件同时上传???

问题描述 文件上传怎么实现读个文件同时上传??? 一个input可以上传多个文件吗??如何实现??最好有代码!!!! 解决方案 http://blog.163.com/thylx133@126/blog/static/60151875201142455229288/ 解决方案二: http://blog.csdn.net/chenxiang199055/article/details/7000237 解决方案三: <input type="file" multiple />