[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', // ...
随机推荐
- BlazeMeter发布chrome扩展插件,支持JMeter脚本创建
BlazeMeter发布chrome扩展插件,支持JMeter脚本创建http://www.automationqa.com/forum.php?mod=viewthread&tid=3898 ...
- 8个经典HTML5 3D动画赏析
HTML5技术已经越来越被我们所接受,特别是一些3D的动画特效.本文介绍的8个HTML5 3D动画并没有特别华丽的界面,但是比较实用,涉及到3D图片.3D图表.3D按钮等方面,一起来看看. 1.HTM ...
- javascript方法 call()和apply()的用法
先上代码: apply()方法示例 /*定义一个人类*/ function Person(name,age) { this.name=name; this.age=age; } /*定义一个学生类*/ ...
- 查询修改linux 打开文件句柄数量
查询系统支持最大可打开文件句柄数量: #vi /proc/sys/fs/file-max 查询当前连接用户最大可打开文件句柄数量: #ulimit -a 修改当前连接用户最大可打开文件句柄数量: #u ...
- js两种定义函数、继承方式及区别
一:js两种定义函数的方式及区别 1:函数声明: function sayA() { alert("i am A"); } 2:函数表达式: var sayB = function ...
- tengine + mysql + nginx + php
tengine + mysql + nginx + php 1.配置防火墙vim /etc/sysconfig/iptables # 允许80端口通过防火墙-A INPUT -m state --st ...
- js获取url参数值的方法
index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&...... 静态html文件js读取url参数 根据获取html的参数值控制htm ...
- css3 keyframes在yuicompressor下压缩问题
@keyframes proBackAction { 0% { opacity:; } 100% { opacity: .8; } } @keyframes proBackAction { 0{ op ...
- ruby -- 问题解决(七)ActionController::InvalidAuthenticityToken解决办法
学习链接:http://cnkerry.iteye.com/blog/350718 解决方法一: class FooController < ApplicationController prot ...
- FAQ: Machine Learning: What and How
What: 就是将统计学算法作为理论,计算机作为工具,解决问题.statistic Algorithm. How: 如何成为菜鸟一枚? http://www.quora.com/How-can-a-b ...