PHP文件上传
来源:互联网 发布:c语言标准库函数及功能 编辑:程序博客网 时间:2024/05/16 09:35
php文件上传实例讲解
一:打开php配置文件:
file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir -- 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize 8m 望文生意,即允许上传文件大小的最大值。默认为2M
二:form标签enctype属性
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况, 这个编码格式是application/x-www-form-urlencoded,不能用于文件上传; 只有使用了multipart/form-data,才能完整的传递文件数据。
值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。 MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该
文件太大了的麻烦。
三:$_FILES系统函数
$_FILES['myFile']['name']客户端文件的原名称
$_FILES['myFile']['type']文件的MIME类型
$_FILES['myFile']['size']已上传文件的大小
$_FILES['myFile']['tmp_name']储存的临时文件名,一般为系统默认
$_FILES['myFile']['error']该文件上传到相关的错误代码
四:move_upload_file函数
上传后移动文件到目标位置的函数
move_uploaded_file(临时文件,目标位置);
五:is_uploaded_file函数
判断上传文件的类型 is_uploaded_file(MIME);
html页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>upload</title>
</head>
<body>
<h1>上传新文件</h1>
<form enctype="multipart/form-data" action="file.php" method=post>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
上传文件: <input name="userfile" type="file">
<input type="submit" value="上传">
</form>
</body>
</html>
php页面:
<?php
$uploadfile = './upload/'.$_FILES['userfile']['name'];//upload为上传到服务机器的文件夹
echo $uploadfile;
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
echo "OK!";
}
switch ($_FILES['userfile']['type'])
{
case "image/pjpeg":
$fileextname = "jpg";
break;
case "image/gif":
$fileextname = "gif";
break;
case "image/x-png":
$fileextname = "png";
break;
case "application/x-shockwave-flash":
$fileextname = "swf";
break;
case "text/plain":
$fileextname = "txt";
break;
case "application/msword":
$fileextname = "doc";
break;
case "application/x-zip-compressed":
$fileextname = "zip";
break;
}
echo $fileextname;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
}
else
{
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
注意:上传到服务器的文件夹要事先建立好,不然报错“failed to open stream: No such file or directory”
file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir -- 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize 8m 望文生意,即允许上传文件大小的最大值。默认为2M
二:form标签enctype属性
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况, 这个编码格式是application/x-www-form-urlencoded,不能用于文件上传; 只有使用了multipart/form-data,才能完整的传递文件数据。
值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。 MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该
文件太大了的麻烦。
三:$_FILES系统函数
$_FILES['myFile']['name']客户端文件的原名称
$_FILES['myFile']['type']文件的MIME类型
$_FILES['myFile']['size']已上传文件的大小
$_FILES['myFile']['tmp_name']储存的临时文件名,一般为系统默认
$_FILES['myFile']['error']该文件上传到相关的错误代码
四:move_upload_file函数
上传后移动文件到目标位置的函数
move_uploaded_file(临时文件,目标位置);
五:is_uploaded_file函数
判断上传文件的类型 is_uploaded_file(MIME);
html页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>upload</title>
</head>
<body>
<h1>上传新文件</h1>
<form enctype="multipart/form-data" action="file.php" method=post>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
上传文件: <input name="userfile" type="file">
<input type="submit" value="上传">
</form>
</body>
</html>
php页面:
<?php
$uploadfile = './upload/'.$_FILES['userfile']['name'];//upload为上传到服务机器的文件夹
echo $uploadfile;
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
echo "OK!";
}
switch ($_FILES['userfile']['type'])
{
case "image/pjpeg":
$fileextname = "jpg";
break;
case "image/gif":
$fileextname = "gif";
break;
case "image/x-png":
$fileextname = "png";
break;
case "application/x-shockwave-flash":
$fileextname = "swf";
break;
case "text/plain":
$fileextname = "txt";
break;
case "application/msword":
$fileextname = "doc";
break;
case "application/x-zip-compressed":
$fileextname = "zip";
break;
}
echo $fileextname;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
}
else
{
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
注意:上传到服务器的文件夹要事先建立好,不然报错“failed to open stream: No such file or directory”
0 0
- php 上传文件文件
- PHP上传文件
- PHP文件的上传
- php上传文件
- PHP文件上传
- php上传文件
- PHP上传文件
- [PHP]文件上传处理
- php多文件上传`
- PHP实现文件上传
- PHP文件上传
- PHP文件上传
- 关于php文件上传
- PHP文件上传代码
- PHP文件上传
- php 文件上传,
- PHP上传文件代码
- php文件上传
- top命令详解
- OCP 1Z0 052 104
- 17 oj 对象转换
- leetcode - Generate Parentheses
- 找出出现次数最多的几个数值
- PHP文件上传
- URL传递值
- vmalloc分配高端物理内存
- Oracle11gR2创建表空间
- 某猿的饭局
- 如何推广自己的新网站
- android app 接入支付宝
- ext combobox动态加载数据库数据
- 并查集的实现