一、文件的上传

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 上传文件的临时路径,可以是一个绝对路径

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]);

PHP文件的上传下载的更多相关文章

  1. 在Window的IIS中创建FTP的Site并用C#进行文件的上传下载

    文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服务器计算机上. 然后,远程计算机可以使用 FTP ...

  2. 创建FTP的Site并用C#进行文件的上传下载

    创建FTP的Site并用C#进行文件的上传下载 文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服 ...

  3. linux链接及文件互相上传下载

    若排版紊乱可查看我的个人博客原文地址 基本操作 本篇博客主要介绍如何去链接远程的linux主机及如何实现本地与远程主机之间文件的上传下载操作,下面的linux系统是CentOS6.6 链接远程linu ...

  4. Spring实现文件的上传下载

    背景:之前一直做的是数据库的增删改查工作,对于文件的上传下载比较排斥,今天研究了下具体的实现,发现其实是很简单.此处不仅要实现单文件的上传,还要实现多文件的上传. 单文件的下载知道了,多文件的下载呢? ...

  5. SocketIo+SpringMvc实现文件的上传下载

    SocketIo+SpringMvc实现文件的上传下载 socketIo不仅可以用来做聊天工具,也可以实现局域网(当然你如果有外网也可用外网)内实现文件的上传和下载,下面是代码的效果演示: GIT地址 ...

  6. JAVAWEB之文件的上传下载

    文件上传下载 文件上传: 本篇文章使用的文件上传的例子使用的都是原生技术,servelt+jdbc+fileupload插件,这也是笔者的习惯,当接触到某些从未接触过的东西时,总是喜欢用最原始的东西将 ...

  7. SSM框架之中如何进行文件的上传下载

    SSM框架的整合请看我之前的博客:http://www.cnblogs.com/1314wamm/p/6834266.html 现在我们先看如何编写文件的上传下载:你先看你的pom.xml中是否有文件 ...

  8. python使用ftplib模块实现FTP文件的上传下载

    python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def uplo ...

  9. php文件夹上传下载控件分享

    用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助. 以下是实例的部分脚本文件 这里我先 ...

  10. 使用Fileupload完成文件的上传下载

    目录 使用Fileupload完成文件的上传下载 为什么需要进行文件上传下载? 引入jar包 文件上传 注意事项 编写一个简单的文件上传jsp页面 编写Servlet Student类用于封装数据,后 ...

随机推荐

  1. 【ASP.NET】从服务器端注册客户端脚本

    一.在Asp.net 服务端处理脚本,一般都用 ClientScriptManager ,即web窗体服务端的this.ClientScript.该对象比较常用的方法: 1.RegisterArray ...

  2. 将UIImage保存到iOS照片库和对应程序沙盒中-b

    1.保存到iOS照片库需要引入QuartzCore.framework框架,具体代码如下:.h文件#import <QuartzCore/QuartzCore.h>UIImageView ...

  3. Aircrack-ng官方文档翻译[中英对照]---Airdecap-ng

    Aircrack-ng官方文档翻译---Airdecap-ng   Description[简介] With airdecap-ng you can decrypt WEP/WPA/WPA2 capt ...

  4. 【技术贴】note8 N5100刷机 双清 落雨

    双清模式:开机键 + [音量+] + HOME键 刷机模式:开机键 + [音量- ]+ HOME键 1.双清步骤: 关机时.长按音量上键+home键+开机键,直到进入recovery模式,然后选择wi ...

  5. ZOJ 2562 More Divisors

    又是个水题,刚刚开始没有用搜索,因为对于反素数有: n=2^t1*3^t2^5^t3*7^t4..... 这里有 t1>=t2>=t3>=t4. 而且相同的因数的情况下,素数越不同越 ...

  6. 超级 Ping 监测工具——为您的网络状态保驾护航

    关于 Ping Ping 是一个网络命令,主要是用于确定本地主机是否能与另一台主机交换(发送与接收)数据.根据返回的信息,就可以推断 TCP/IP 参数是否设置得正确以及运行是否正常.正常情况下,Pi ...

  7. 【BZOJ 3387】 线段树= =

    57 跨栏训练为了让奶牛参与运动,约翰建造了 K 个栅栏.每条栅栏可以看做是二维平面上的一条线段,它们都平行于 X 轴.第 i 条栅栏所覆盖的 X 轴坐标的区间为 [ Ai,Bi ], Y 轴高度就是 ...

  8. 【BZOJ 3476】 线段树===

    59  懒惰的奶牛贝西所在的牧场,散落着 N 堆牧草,其中第 i 堆牧草在 ( Xi,Yi ) 的位置,数量有 Ai 个单位.贝西从家移动到某一堆牧草的时候,只能沿坐标轴朝正北.正东.正西.正南这四个 ...

  9. 【20161030la 】总结

    就写个题解 1. 生成树(Tree) 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈.在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形.这些 ...

  10. C++使用http请求,亲测可用,VS2008编译运行通过

    int CMyFunctionsDlg::request(char* hostname, char* api, char* parameters) { WSADATA WsaData; WSAStar ...