> 백엔드 개발 > PHP 튜토리얼 > PHP文件的上传

PHP文件的上传

WBOY
풀어 주다: 2016-06-23 13:28:10
원래의
870명이 탐색했습니다.

<?phpheader('Content-type:text/html;charset=utf-8');if(isset($_POST['submit'])){//检测表单'submit'是否有上传,如果有上传继续下一步,如果没那就没反应if(is_uploaded_file($_FILES['myfile']['tmp_name'])){//检测指定文件是否通过HTTP POST上传的,如果是继续下一步,如果不是提示'可能有攻击!'$arr=pathinfo($_FILES['myfile']['name']);//输出返回路径的信息(具体返回什么看手册)$newName=date('YmdGis').rand(1000,9999);//按年月日后面加1000到9999随机数字输出文件名if(move_uploaded_file($_FILES['myfile']['tmp_name'],"upload/{$newName}.{$arr['extension']}")){//move_uploaded_file把该文件的移动到另一文件里面(该函数参数是写被移动文件和移到到目标文件的路径)//($arr['extension']这个函数根据返回路径的信息确定文件后缀名)//如果上传后的文件移动到目标目录成功则输出'上传成功!',否则输出'移动文件失败!'//为什么要在上传文件的同时写上文件名和后缀名?因为相同的文件名和后缀名会覆盖掉,所以要写这么个判断。        echo '上传成功!';    }else{    echo '上传文件失败!';    }    }else{    exit('可能有攻击!');    }}var_dump($_FILES);?><!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"/><title>上传页面</title></head><body><form action="" method="post" enctype="multipart/form-data"><!-- 注意点:属性method和enctype设置 --><input type="file" name="myfile" /><!-- 上传控件 --><input type="submit" name="submit" value="开始上传" /><!-- 提交按钮 --></form></body></html>
로그인 후 복사

步骤1:检测表单'submit'是否有上传,如果有上传继续下一步,如果没那就没反应。

步骤2:检测指定文件是否通过HTTP POST上传的,如果是继续下一步,如果不是提示'可能有攻击!'。

步骤3:move_uploaded_file把该文件的移动到另一文件里面(该函数参数是写被移动文件和移到到目标文件的路径)。

步骤4:要在上传文件的同时写上文件名和后缀名,因为如果不写,遇到相同的文件名和后缀名会覆盖掉,所以要写这么个判断。

步骤5:因为要判断,所以要写判断文件名和后缀名的公式。(详细看上面程序)

步骤6:上传文件,测试程序。


一.在上传前,我们需要设置与上传相关的php配置选项(php.ini)。

配置项                        可能值      功能描述

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

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

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

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

upload_tmp_dir             NULL       上传文件存放的临时路径,可以是一个绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。


二.$_FILES多维数组:用于存储各种与上传有关的信息(输出后显示的信息)(具体看参考手册)

三.PHP文件的上传处理函数:用于上传文件的后续处理.

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

move_uploaded_file()文件上传后,首先会存储于服务器的临时目录中,可以使用该函数将上传的文件移动到新位置.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿