[moka同学代码]PHP初级知识:上传文件源码
1.目录结构
aaarticlea/png;base64,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" alt="" />
2.index.php
<html>
<head>
<meta charset="utf-8">
<title>上传文件</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">文件名</label>
<input type="file" name="file" id="file"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
3.upload.php
<?php
//上传文件代码
//核心代码:
/*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']/1024).'kb<br>';
echo '文件临时存放地址:'.$_FILES['file']['tem_name'];
}*/ //上传文件所需要的代码,但是在上传之前需要对文件进行判断限制,大小,类型等 //允许上海窜的图片后缀
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]); //截取文件后缀
$extension = end($temp); //文件后缀
$type = $_FILES["file"]["type"];
$size = $_FILES["file"]["size"];
$error = $_FILES["file"]["error"];
$name = $_FILES["file"]["name"];
$tmp_name = $_FILES["file"]["tmp_name"];
if (($type == "image/gif") || ($type == "image/jpeg") || ($type == "image/jpg") || ($type == "image/pjpeg") ||
($type == "image/x-png") || ($type == "image/png") && $size < 2048 && in_array($extension, $allowedExts)
) {
if ($error > 0) {
echo "错误:" . $error . '<br>';
} else {
echo "文件名称:" . $name . "<br>";
echo "文件类型:" . $type . "<br>";
echo "文件大小:" . ($size / 1024) . "kb<br>";
echo "临时存放位置:" . $tmp_name; //判断存放文件的目录中是否存在该文件,如果没有,需要创建它,file的目录权限为777
if (file_exists("file/" . $name)) {
echo $name . "文件已经存在。";
} else {
move_uploaded_file($tmp_name, 'file/'. $name);
echo "文件存储在:" . "file/". $name;
} }
} else {
echo "非法文件";
}
[moka同学代码]PHP初级知识:上传文件源码的更多相关文章
- Hadoop之HDFS原理及文件上传下载源码分析(下)
上篇Hadoop之HDFS原理及文件上传下载源码分析(上)楼主主要介绍了hdfs原理及FileSystem的初始化源码解析, Client如何与NameNode建立RPC通信.本篇将继续介绍hdfs文 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码]
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码] 文件上传这东西说到底有时候很痛,原来的asp.net服务器 ...
- swfupload多文件上传[附源码]
swfupload多文件上传[附源码] 文件上传这东西说到底有时候很痛,原来的asp.net服务器控件提供了很简单的上传,但是有回传,还没有进度条提示.这次我们演示利用swfupload多文件上传,项 ...
- 分享知识-快乐自己:FastDFS 上传 java 源码
FastDFS 上传 java 源码:点我下载源码 首先导入 POM 文件:解决 maven 不能下载 fastdfs-client-java JAR <dependency> <g ...
- php实现文件上传的源码
php实现文件上传的源码,更多php技术开发就去php教程网,http://php.662p.com <?php ##author :Androidyue ##sina @androidyue ...
- .NET CORE上传文件到码云仓库【搭建自己的图床】
.NET CORE上传文件到码云仓库[搭建自己的图床] 先建一个公共仓库(随意提交一个README文件或者.gitignore文件保证master分支的存在),然后到gitee的个人设置页面找到[私人 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(32)-swfupload多文件上传[附源码]
系列目录 文件上传这东西说到底有时候很痛,原来的asp.net服务器控件提供了很简单的上传,但是有回传,还没有进度条提示.这次我们演示利用swfupload多文件上传,项目上文件上传是比不可少的,大家 ...
- asp.net+swfupload 多图片批量上传(附源码下载)
asp.net的文件上传都是单个文件上传方式,无法执行一次性多张图片批量上传操作,要实现多图片批量上传需要借助于flash,通过flash选取多个图片(文件),然后再通过后端服务进行上传操作. 本次教 ...
- php图片上传存储源码,可实现预览
<?php header("content-Type: text/html; charset=gb2312"); $uptypes=array('image/jpg', // ...
随机推荐
- 画蛇添足-记spring3 hibernate4整合时遇到问题的处理办法
最近在来到一个新公司,使用新的spring3,hibernate4框架,在使用注解事务总是不起作用. 首先看配置文件,然后再讲解. 首先是springmvc-servlet.xml,这个配置文件是se ...
- iOS开发问题之Could not instantiate class named NSLayoutConstraint
这个问题在ios6.0之前的版本中运行会出现,因为使用Xcode 4.5之后的版本新建项目默认是选中AutoLayout的,但这个特性是在iOS6.0之后的版本中才支持的. 解决办法是选中.stroy ...
- Spring Boot 之 RESRful API 权限控制
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “简单,踏实~ 读书写字放屁” 一.为何用RESTful API 1.1 RESTful是什么? ...
- studio 快捷键
一,基础快捷键 1.1 Ctrl+N,Navigate | Class,快速打开某个类 1.2 Ctrl+Shift+N, Navigate | File, 快速打开某个文件 1.3 Ctrl+S ...
- ux.plup.File plupload 集成 ux.plup.FileLis 批量上传预览
//plupload 集成 Ext.define('ux.plup.File', { extend: 'Ext.form.field.Text', xtype: 'plupFile', alias: ...
- django shell 集合
1.创建project $ django-admin startproject mysite 2.真正执行,修改数据库 $ python manage.py migrate 3.运行服务 $ pyth ...
- 引入HBase依赖包带来的麻烦
在一个项目里用到HBase做底层存储,使用maven来管理相关Jar包依赖,用maven来管理依赖包,特别不爽的就是他会将你引入Jar包自己的依赖都搞进来,经常会出现一些类和方法冲突找不到等状况.这次 ...
- SharePoint 2013中以其他用户身份登录的WebPart(免费下载)
在SharePoint 2013中微软并没有提供在SharePoint 2010中以其他用户身份登录的菜单,这对一般用户影响不大,但对于系统管理员或测试人员或特定人员(如在OA系统中的文员或秘书,常常 ...
- JavaScript Scoping and Hoisting
JavaScript中所有变量及函数名会自动提升 http://www.cnblogs.com/betarabbit/archive/2012/01/28/2330446.html
- ASP.NET MVC 中如何用自定义 Handler 来处理来自 AJAX 请求的 HttpRequestValidationException 错误
今天我们的项目遇到问题 为了避免跨站点脚本攻击, 默认我们项目是启用了 validateRequest,这也是 ASP.NET 的默认验证规则.项目发布后,如果 customError 启用了,则会显 ...