前言:

学习php中

1.表单代码:

<html>
<head>
<title>文件上传</title>
</head>
<body background-color="blue">
<form action="upload_file.php" method="POST" enctype="multipart/form-data">
<b>文件上传</b>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>

2。PHP代码

<?php
$gsx=array("jpg","gif","txt");
$irs=explode(".",$_FILES['file']['name']);
$sx=end($irs);
if (($_FILES['file']['size'] < 2000000) && (in_array($sx,$gsx)))
{
if ($_FILES['file']['error'] > 0)
{
echo "错误:".$_FILES['file']['error'];
}
else
{
if file_exists("upload",$_FILES['file']['name']);
{
echo "文件已存在";
}
else
{
echo "文件类型:".$_FILES['file']['type']."<br>";
echo "文件字节:".$_FILES['file']['size']."<br>";
echo "文件名:".$_FILES['file']['name']."<br>";
echo "上传目录:upload/";
}
}
}
else
{
echo "非法文件格式!";
}
?>

 笔记:

上传表单:
<html>
<head>
<title>文件上传</title>
</head>
<body background-color="blue">
<form action="cs.php" method="POST" enctype="multipart/form-data">
<b>文件上传</b>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html> file用于文件上传 enctype用于提交表单时用于什么内容类型(multipart/form-data) 上传的代码:
<?php
function fisle()
{
if($_FILES['file']['error']>0)
{
echo "错误:".$_FILES['file']['error']."<br>";
}
else
{
echo "上传文件名:".$_FILES['file']['name']."<br>";
echo "上传文件类型:".$_FILES['file']['type']."<br>";
echo "文件大小:".$_FILES['file']['size']."<br>";
echo "储存位置:".$_FILES['file']['tmp_name'];
}
}
fisle();
?> 通过PHP的FILES向服务器传文件
$_FILES['file']['type'] type获取文件上传类型
$_FILES['file']['error'] file 第一个是表单的参数 error是上传报错
$_FILES['file']['name'] name上传文件名称
$_FILES['file']['size'] size是上传的总字节
$_FILES['file']['tmp_name'] 上传文件存放目录 自定义上传目录:
test
|-----upload # 文件上传的目录
|-----form.html # 表单文件
|-----upload_file.php # php 上传代码 php文件上传总结
如果只是直接判断上传php文件的时候没有
出错的时候就会造成安全问题
所以我们要进行白名单限制 <?php
$allowed=array('gif','jpg','png');
$temp=explode(".",$_FILES['file']['name']);
echo "上传字节数:".$_FILES['file']['size'];
echo "<br>";
$extesion=end($temp);
if (($_FILES['file']['type']=="image/gif") || ($_FILES['file']['type']=="image/jpeg") || ($_FILES['file']['type']=="image/jpg") || ($_FILES['file']['type']=="image/pjeg") || ($_FILES['files']['type']=="image/x-png") || ($_FILES['file']['type']=="image/png") && ($_FILES['file']['size'] < 2048000) && in_array($extesion,$allowed))
{
if ($_FILES['file']['error'] > 0)
{
echo "出错:".$_FILES['file']['error']."<br>"; }
else
{
echo "<table border=1>";
echo "<tr>";
echo "<td>"."上传文件名:".$_FILES['file']['error']."</td>"."<br>";
echo "<td>"."上传文件类型:".$_FILES['file']['type']."</td>"."<br>";
echo "</tr>";
echo "</table>";
} if (file_exists("upload/".$_FILES['file']['name']))
{
echo '文件已存在';
}
else
{
move_uploaded_file($_FILES['file']['tmp_name'],"upload/".$_FILES['file']['name']);
echo "<br>";
echo "<table border=1>";
echo "<tr>";
echo "<td>"."上传文件路径:"."upload/".$_FILES['file']['tmp_name']."</td>"."<br>";
echo "</tr>";
echo "</table>";
}
}
else
{
echo '非法文件格式!!!';
}
?> file_exists("文件路径",'$_FILES['file']['name']') 用于判断文件是否存在
move_uploaded_file(指定文件,"目录") 用于指定保存目录

  

php文件上传总结的更多相关文章

  1. jquery.uploadify文件上传组件

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

  2. 11、Struts2 的文件上传和下载

    文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...

  3. Java FtpClient 实现文件上传服务

    一.Ubuntu 安装 Vsftpd 服务 1.安装 sudo apt-get install vsftpd 2.添加用户(uftp) sudo useradd -d /home/uftp -s /b ...

  4. 小兔Java教程 - 三分钟学会Java文件上传

    今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...

  5. ,net core mvc 文件上传

    工作用到文件上传的功能,在这个分享下 ~~ Controller: public class PictureController : Controller { private IHostingEnvi ...

  6. Web开发安全之文件上传安全

    很长一段时间像我这种菜鸡搞一个网站第一时间反应就是找上传,找上传.借此机会把文件上传的安全问题总结一下. 首先看一下DVWA给出的Impossible级别的完整代码: <?php if( iss ...

  7. AutoIt实现Webdriver自动化测试文件上传

    在运用WebDriver进行自动化测试时,由于WebDriver自身的限制,对于上传文件时Windows弹出的文件选择窗口无法控制,通过在网上查找资料锁定使用AutoIt来控制文件上传窗口. Auto ...

  8. Struts的文件上传下载

    Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...

  9. .JavaWeb文件上传和FileUpload组件使用

    .JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...

  10. ASP.NET MVC5+EF6+EasyUI 后台管理系统(32)-swfupload多文件上传[附源码]

    系列目录 文件上传这东西说到底有时候很痛,原来的asp.net服务器控件提供了很简单的上传,但是有回传,还没有进度条提示.这次我们演示利用swfupload多文件上传,项目上文件上传是比不可少的,大家 ...

随机推荐

  1. java处理HTTP请求

    import com.diyfintech.wx.service.HttpService; import org.springframework.stereotype.Service; import ...

  2. python迭代器与生成器(二)

      一.什么是迭代? 迭代通俗的讲就是一个遍历重复的过程. 维基百科中 迭代(Iteration) 的一个通用概念是:重复某个过程的行为,这个过程中的每次重复称为一次迭代.具体对应到Python编程中 ...

  3. jfinal微信支付

    private static final String appid = PropKit.get("appid"); //应用ID private static final Stri ...

  4. 剑指offer--30.二叉搜索树的后序遍历序列

    正常情况下,因为二叉搜索树,左子树所有结点比根小,右子树所有结点比根大,所以循环一遍就能结束 ----------------------------------------------------- ...

  5. Java IO流读写文件的几个注意点

     平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不 ...

  6. 前端之css样式01

    选择器,css文本属性 CSS语法: 选择器 {属性1: 值1; 属性2: 值2} CSS放置的位置: 1. 直接写在标签里面,通过style属性来设置CSS样式 2. 在head标签里面通过styl ...

  7. 微软白板Excel xls列号数字转字母

    Excel xls列号数字转字母 https://blog.csdn.net/lf124/article/details/53432817?utm_source=itdadao&utm_med ...

  8. python 爬虫的一些使用技巧

    1.最基本的抓站 import urllib2 content = urllib2.urlopen('http://XXXX').read() -2.使用代理服务器这在某些情况下比较有用,比如IP被封 ...

  9. Fragment详解及举例

    1.为什么用Fragment(Android3.0提出)来替代TabActivity(Android4.0以后正式被弃用)? 因为Fragment可以适应各种不同屏幕大小,也就是适应不同屏幕的分辨率. ...

  10. C# 方法、类等的默认访问修饰符

    C# 方法默认访问级别 : private C# 类默认访问级别 : internal 1.命名空间下的元素的默认访问修饰符 public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以 ...