如何使用PHP上传文件,上传图片,php上传教程,php表单文件上传教程
使用PHP进行文件上传,主要使用到表单功能和PHP内置的$_FILES函数功能。接下来我们看如何实现PHP上传功能。例子效果图,此例子是在Mac下进行调试成功的。
PHP上传图片文件的功能代码如下:
<html>
<head>
<meta charset="utf-8">
<title>Upload File Example</title>
<style>
body{
width:500px;
margin:20px auto;
line-height:25px;
}
img{
display:block;
max-width:500px;
}
h1{
text-align:center;
}
#uploadfile{
background-color:#eee;
text-align:center;
width:500px;
margin:0 auto;
}
form{
margin:0px;
padding:0px;
}
#uploadfile .input1{
display:block;
width:500px;
text-align:center;
margin:0 auto;
}
#uploadfile .input2,.input3{
width:100px;
margin:5px 20px;
}
</style>
</head>
<body>
<h1>Upload File</h1>
<div id="uploadfile">
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<input class="input1" name="upfile" type="file">
<input class="input2" type="submit" value="确认提交">
<input class="input3" type="reset" value="重置">
</form>
</div>
<?php
if($_FILES["upfile"]["name"]==NULL){
echo "No file choice!";
}else{
$filepath="/Library/WebServer/Documents/";
$tmp_name=$_FILES["upfile"]["tmp_name"];
$filename=$filepath.$_FILES["upfile"]["name"];
echo "<br>"."\$_FILES['upfile']['name']:".$_FILES["upfile"]["name"];
echo "<br>"."\$_FILES['upfile']['size']:".GetSize($_FILES["upfile"]["size"]);
echo "<br>"."\$_FILES['upfile']['type']:".$_FILES["upfile"]["type"];
echo "<br>"."\$_FILES['upfile']['tmp_name']:".$_FILES["upfile"]["tmp_name"];
if(move_uploaded_file($tmp_name,$filename)){
echo "<br>"."已上传至目录:".$filename;
if(in_array($_FILES["upfile"]["type"],array("image/png","image/jpg","image/bmp"))){
echo "<br>"."<img src='/".$_FILES["upfile"]["name"]."' />";
}else{ }
}else{
echo "<br>"."Upload faild!";
}
}
// 将文件大小转成相应计量单位
function GetSize($tmp){
$arr = array("B","KB","MB","GB","TB","PB");
$pos = 0;
if(!is_integer($tmp))
return -1;
while($tmp>1024 and count($arr)>$pos){
$tmp = $tmp / 1024.0;
$pos++;
}
$tmp = sprintf("%.2f",$tmp);
return $tmp.$arr[$pos];
}
?>
</body>
</html>
使用表单的action可以选点表单提交对象,象本文中的例子是将表单提交给自己进行处理。
method可以选择post或get文件进行提交。
如何使用PHP上传文件,上传图片,php上传教程,php表单文件上传教程的更多相关文章
- Flask教程 —— Web表单(上)
第二章中介绍的request对象公开了所有客户端发送的请求信息.特别是request.form可以访问POST请求提交的表单数据. 尽管Flask的request对象提供的支持足以处理web表单,但依 ...
- CURL模拟表单post提交及相关常用参数的使用(包括提交表单同时上传文件)
转载自:https://blog.csdn.net/freedomwjx/article/details/43278157 (注:在curl前面加上time如time curl xxx,可以在最后显示 ...
- 混合表单文件上传到数据库(基于TOMCAT)
在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,就像混合表单在上传完毕之后需要将提交的基本信息插入数据库. 在这个demo中需要用到这个架包来帮助实现 1.定义一个公共类实现文件上 ...
- 表单文件上传,ajax文件上传
原创链接:http://www.cnblogs.com/yanqin/p/5345562.html html代码 index.jsp(表单文件上传) <form action="sh ...
- Java模拟表单POST上传文件
JAVA模拟表单POST上传文件 import java.awt.image.BufferedImage;import java.awt.image.ColorModel;import java.io ...
- Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)
form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...
- Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request对象方法,属性和Response对象,form表单的上传
Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request请求对象方法,属性和Response响应对象,form表单的上传 一丶CBV和FBV 在Django中存 ...
- 关于echarts的使用----模块化单文件引入(推荐) 与标签式单文件引入
官网:http://echarts.baidu.com/echarts2/doc/doc.html#引入ECharts3 关于模块化单文件引入(推荐) 与标签式单文件引入
- JAVA入门[16]-form表单,上传文件
一.如何传递参数 使用 @RequestParam 可以传递查询参数.例如:http://localhost:8092/category/detail?id=1 @RequestMapping(&qu ...
随机推荐
- HDU2818 并查集
Building Block Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- *HDU1850 博弈
Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32 ...
- CSS3动画快速实现
在工作或者平时做demo中,经常会遇到做一些简单的动画.初级前端同学可能就会有些棘手了. 在这里我发现了一个网上笔记实用且简单易上手的动画库.与大家共享一下: 更多请查看:http://anicoll ...
- Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/31/KafkaColumn5_kafka_benchmark 摘要 本文主要介绍了如何利用 ...
- Call for Papers International Conference for Smart Health (ICSH) 2014
Call for PapersInternational Conference for Smart Health (ICSH) 2014 Beijing, China July 10-11, 2014 ...
- SQL Server恢复软件 Stellar Phoenix sql recovery
SQL Server恢复软件 Stellar Phoenix sql recovery http://www.stellarinfo.com/ http://www.stellarinfo.com/ ...
- CMS模板引擎:XHtmlAction
前言: 先说说大伙关心的工作上的事,在上家公司任了一个多月的技术经理后,和公司中止了合作关系. 主要原因在于一开始的待遇没谈的太清楚: 1:没有合同,没有公积金,连社保也没交. 2:工资的30%变成了 ...
- 浅谈Android应用保护(一):Android应用逆向的基本方法
对于未进行保护的Android应用,有很多方法和思路对其进行逆向分析和攻击.使用一些基本的方法,就可以打破对应用安全非常重要的机密性和完整性,实现获取其内部代码.数据,修改其代码逻辑和机制等操作.这篇 ...
- Redhat环境下编译安装Google Bazel
Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...
- 人才市场的IT职位分析
最近要找长沙的工作,于是通过湖南人才市场搜索了一下职位.结果得到的数据让我很难比较,作为一个 IT 业滚爬了多年的程序员,对这样的搜索结果很不满意.于是,我不得不自己来整理数据了.本文内容包括:网页数 ...