[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', // ...
随机推荐
- ubuntu-15.04-server-i386.iso 安装 Oracle 11gR2 数据库
特点: 需要重新安装老版本的 libaio1_0.3.109-2ubuntu?_i386.deb.默认的libaio库有问题,和其默认libaio的编译方式有关! 默认的gcc 4.9 需要使用 -W ...
- 关于mvc、webapi中get、post、put、delete的参数
webapi中post提交的数据必须是一个类,get提交的数量无所谓 多种参数get时,参数名不能相同: 在能通过c#的校验的前提下,参数名.参数数量不能全完相同 public string Get( ...
- Android开源代码分享
一.AppMsg实现自定义Toast. github下载地址 二.CircleImageView实现带边框圆形头像. github下载地址 ...
- Log4j配置说明及样例
一般的应用都会记录日志,Java圈里面用得最多就属log4j了,比较规范一点就是使用log4j.xml进行配置Log输出.这里就比较有疑问,多数情况是使用log4j.properties文件呐,前面也 ...
- MSIL 教程(三):类和异常处理(转)
转自:http://www.cnblogs.com/Yahong111/archive/2007/08/16/857771.html 续上文[翻译]MSIL 教程(二):数组.分支.循环.使用不安全代 ...
- sql server还原数据库bak文件
RESTORE DATABASE CCC FROM DISK = 'AAA.bak' with replace, MOVE 'BBB' TO 'C:\Program Files\Microsoft ...
- [LeetCode] Longest Valid Parentheses 动态规划
Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...
- Ext.grid.GridPanel属性及方法等
1.Ext.grid.GridPanel主要配置项:store:表格的数据集columns:表格列模式的配置数组,可自动创建ColumnModel列模式autoExpandColumn:自动充满表格未 ...
- transactional replication 的immediate_sync属性
在默认情况下,immediate_sync是关闭的,这个属性可以在创建publication时指定,也可以在创建完毕后修改. 如果immediate_sync为true, snapshot 文件和re ...
- 关于Expression表达式树的拼接
最近在做项目中遇到一个问题,需求是这样的: 我要对已经存在的用户进行检索,可以根据用户的id 或者用户名其中的一部分字符来检索出来,这样就出现了三种情况 只有id,只有用户名中一部字符,或者全部都有. ...