PHP处理上传文件

it2022-05-05  145

HTML中使用type = 'file'类型的表单可以向服务器上传文件;

上传文件的表单必须在form中定义enctyp = 'multipart/form-data';

 

HTML代码如下:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>FileSubmit Document.</title> </head> <body> <form action="user.php" method="post" enctype="multipart/form-data" name="upvideo"> 上传文件:<input type="file" name="video" /> <input type="submit" value="上传"/> </form> </form> </body> </html>

 

PHP代码如下:

<?php var_dump($_POST); var_dump($_FILES); if ($_FILES['video']['error'] > 0) { echo "Error:" .$_FILES['video']['error']. "</br>"; } else { print_r($_FILES['video']); if (is_uploaded_file($_FILES['video']['tmp_name'])) { $upfile = $_FILES['video']; // 获取数组里面的值 $name = $upfile['name']; // 上传文件的文件名 $type = $upfile['type']; // 上传文件的类型 $size = $upfile['size']; // 上传文件的大小 $tmp_name = $upfile['tmp_name']; //上传文件的临时存放路径 // 移动上传的文件到指定目录 move_uploaded_file($tmp_name, '/Library/WebServer/Documents/book/' . $name); } }

注意:

使用print_r打印数据的时候发现第一个数组为空,这表明使用file类型表单提交数据时并不使用$_POST接受数据,而是使用全局变量$_FILES来接收;

· php默认上传文件的大小只有2MB;

 

例如要上传一个50MB的大文件,php.ini配置如下:

file_uploads = On

upload_tmp_dir = "/user/file"

upload_max_filesize = 50M

post_max_size = 100M

max_excution_time = 600

max_input_time = 600

转载于:https://www.cnblogs.com/phpcurd/p/8486694.html

相关资源:PHP文件上传处理类

最新回复(0)