如何使用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 ...
随机推荐
- Android历史版本Logo
Android操作系统是一个由Google和开放手持设备联盟共同开发发展的移动设备操作系统,其最早的一个版本Android 1.0 beta发布于2007年11月5日,至今已经发布了多个更新. ...
- linux shell中不显示路径了,显示为-bash-4.1#的两种解决办法
出现这个问题的原因是因为没有配置.bash_profile的问题,或者是我们不小心清空或删除了.bash_profile文件. 办法一:修改 ~/.bash_profile文件 步骤如下: vim ~ ...
- java web(七)Cookie的简单使用
一.概述 测试 //1.创建一个Cookie对象 //Cookie cookie1=new Cookie("name","xrk"); //2.调用 ...
- iOS 让按钮上的标题换行显示
项目中遇到了要让按钮上的文字换行显示的需求,就写了这个博客. 1.如果按钮上的文字固定,形式是写死的,可以考虑给标题文字加\n换行符来达到效果,但是,记得一定要设置这个属性,不然是不会换行的, but ...
- 关于DOM的一些笔记(一)
这篇文章整理的是关于DOM的一些学习笔记,这样以后查找起来也方便许多.(以前js看的是入门经典和DOM编程艺术,现在在看高级程序设计,本文就以高级程序为主整理) 1.Node (1):类型 node. ...
- 导入导出Excel工具类ExcelUtil
前言 前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibe ...
- android输入限制
title: 2016-5-30 Android输入验证 tags: EditText,输入验证 --- 前言2 使用EditText让用户输入文字时,需要对输入验证.除过验证是否有效的逻辑不同,Ed ...
- ENode通信层性能测试结果
测试环境 两台笔记本网线直连,通过测速工具(jperf)测试,确定两台电脑之间的数据传输速度可以达到1Gbps,即千兆网卡的最大速度.两台电脑硬件配置如下: client服务器,CPU:Intel i ...
- DRY(Don't Repeat Yourself )原则
凡是写过一些代码的程序猿都能够意识到应该避免重复的代码和逻辑.我们通过提取方法,提取抽象类等等措施来达到这一目的.我们总能时不时的听到类似这样的话:”把这些公用的类放到shared项目去,别的项目还要 ...
- Lesson 12 Goodby and good luck
Text Our neighbour, Captain Charles Alison, will sail from Portsmouth tomorrow. We'll meet him at th ...