$_FILES——经过 HTTP POST 形式上传到以后剧本的名目的数组。
假定咱们上传文件字段name='userfile',$_FILES数组里包罗:
$_FILES['userfile']['name'] //客户端机械文件的原称号。 $_FILES['userfile']['type'] //文件的 MIME 类型,假如阅读器提供此信息的话。一个例子是“image/gif”。不外此 MIME 类型正在 PHP 端其实不反省,因而没有要想当然以为有这个值。 $_FILES['userfile']['size'] //已上传文件的巨细,单元为字节。 $_FILES['userfile']['tmp_name'] //文件被上传后正在效劳端贮存的暂时文件名。 $_FILES['userfile']['error'] //以及该文件上传相干的谬误代码。此名目是正在 PHP 4.2.0 版本中添加的。 /**
谬误码有:
UPLOAD_ERR_OK
其值为 0,不谬误发作,文件上传胜利。
UPLOAD_ERR_INI_SIZE
其值为 1,上传的文件超越了 php.ini 中 upload_max_filesize 选项限度的值。
UPLOAD_ERR_FORM_SIZE
其值为 2,上传文件的巨细超越了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
eg,正在表单中增加暗藏域:value值单元是字节
<form enctype="multipart/form-data" action="test.php" method="POST"> <!-- MAX_FILE_SIZE must precede the file input field --> <input type="hidden" name="MAX_FILE_SIZE" value="12" /> <!-- Name of input element determines name in $_FILES array --> Send this file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form>
UPLOAD_ERR_PARTIAL
其值为 3,文件只有局部被上传。
UPLOAD_ERR_NO_FILE
其值为 4,不文件被上传。
UPLOAD_ERR_NO_TMP_DIR
其值为 6,找没有到暂时文件夹。PHP 4.3.10 以及 PHP 5.0.3 引进。
UPLOAD_ERR_CANT_WRITE
其值为 7,文件写入失败。PHP 5.1.0 引进。
文件被上传后,默许地会被贮存到效劳真个默许暂时目次中,除了非 php.ini 中的 upload_tmp_dir设置为其它的门路。效劳真个默许暂时目次能够经过更改PHP运转环境的环境变量TMPDIR来从新设置,然而正在PHP剧本外部经过运转 putenv() 函数来设置是没有起作用的。该环境变量也能够用来确认其它的操作也是正在上传的文件上进行的。
文件上传可能用到的其余函数:
is_uploaded_file:
is_uploaded_file — 判别文件能否是经过 HTTP POST 上传的 is_uploaded_file ( string $filename ) : bool
参数:filename——要反省的文件名。
前往值:胜利时前往 TRUE, 或许正在失败时前往 FALSE。
假如 filename 所给出的文件是经过 HTTP POST 上传的则前往 TRUE。这能够用来确保歹意的用户无奈诈骗剧本去拜访本不克不及拜访的文件,例如 /etc/passwd。
move_uploaded_file:
move_uploaded_file — 将上传的文件挪动到新地位 move_uploaded_file ( string $filename , string $destination ) : bool
参数:filename 上传的文件的文件名;destination 挪动文件到这个地位(相对门路)
本函数反省并确保由 filename 指定的文件是非法的上传文件(即经过 PHP 的 HTTP POST 上传机制所上传的)。假如文件非法,则将其挪动为由 destination 指定的文件。
更多相干php常识,请拜访php教程!
以上就是PHP 超全局变量之$_FILES详解的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学
抱歉,评论功能暂时关闭!