Maison > développement back-end > tutoriel php > PHP文件的上传

PHP文件的上传

WBOY
Libérer: 2016-06-23 13:28:10
original
870 Les gens l'ont consulté

<?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>
Copier après la connexion

步骤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()文件上传后,首先会存储于服务器的临时目录中,可以使用该函数将上传的文件移动到新位置.


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal