时间:2021-07-01 10:21:17 帮助过:180人阅读
通过<form>表单实现,将文件上传到一个临时目录,上传的过程不需要我们管,只需将文件移动到我们期望的目录即可。
具体方法如下:
1、修改PHP配置文件
- file_uploads//服务器上的PHP脚本是否可以接受HTTP文件上传
- memory_limit//设置脚本可以分配的最大内存量,防止失控脚本独占服务器内存
- upload_max_filesize//限制PHP处理上传文件的最大值,此值必须小于post_max_size值
- post_max_size//限制通过POST方法可以接受的信息最大量
- upload_tmp_dir //上传文件存放的临时路径,可以是绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。
注意:修改完配置文件后重新启动服务器。
(相关学习视频分享:php视频教程)
2、$_FILES多维数组,用于存储各种与上传有关的信息
- $_FILES[‘file’][‘name’] //客户端上传的文件原名称,含扩展名
- $_FILES[‘file’][‘size’] //已上传文件的大小,单位为字节
- $_FILES[‘file][‘tmp_name’] //文件上传后,在服务器端存储的临时文件名
- $_FILES[‘file][‘error’] //文件上传时产生的错误
- 0:文件上传成功
- 1:上传文件的大小超出了在PHP配置文件中upload_max_filesize选项限制的值
- 2:上传文件大小超出了HTML表单中MAX_FILE_SIZE选项指定的值
- 3:文件只被部分上传
- 4:没有上传任何文件
- $_FILES[‘file’][‘type’] //上传文件的类型,每种MIME类型由‘/’分隔主类型和子类型组成
3、PHP文件上传处理函数
- is_uploaded_file() //判断指定的文件是否通过HTTP POST上传的
- move_uploaded_file() //文件上传后先存储于服务器的临时目录中,使用该函数移动文件位置
示例:
- <?php
- header('Content-type:text/html;charset=utf-8');
- //判断客户端是否有提交动作
- if(isset($_POST['submit'])){
- //判断文件是否通过HTTP POST上传的
- if(is_uploaded_file($_FILES['myfile']['tmp_name'])){
- //用于服务器端显示客户端上传文件的后缀名.返回值是一个数组
- $arr=pathinfo($_FILES['myfile']['name']);
- //以年 月 日的格式命名客户端上传的文件名并随机产生一个数,避免名字相同
- $newName=date('YmdGis').rand(1000,99999);
- if(move_uploaded_file($_FILES['myfile']['tmp_name'],"C:/123/{$newName}.{$arr['extension']}")){
- echo '成功';
- }else{
- echo '失败';
- }
- }else{
- exit('....');
- }
- }
- var_dump($_FILES);
- ?>
- <DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>文件上传</title>
- </head>
- <body>
- <form method="post" action="" enctype="multipart/form-data">
- <input type="file" name="myfile"/>
- <input type="submit" name="submit" value="开始上传"/>
- </form>
- </body>
- </html>
结果如图:
相关文章教程推荐:php教程
以上就是php实现将文件上传到临时目录的详细内容,更多请关注Gxlcms其它相关文章!