使用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文件进行提交。

最新文章

  1. 修改HTML5 input placeholder 颜色及修改失效的解决办法
  2. Struts2中动态方法的调用
  3. PL/SQL使用技巧
  4. js 获取当前日期时间3种格式化方法 yyyy-mm-dd hh:MM:ss
  5. win7/8下VirtualBox虚拟Ubuntu共享文件夹设置
  6. SqlAgent备份脚本
  7. 在oracle中where 子句和having子句中的区别
  8. Buffer cache 的调整与优化
  9. 《Mathematical Olympiad——组合数学》——抽屉原理
  10. hdu 4504 威威猫系列故事——篮球梦_简单dp
  11. socket 异步通信的一些问题
  12. Java利用Apache POI将数据库数据导出为excel
  13. 73. Set Matrix Zeroes(中等)
  14. Mac 下实现 pyenv/virtualenv 与 Anaconda 的兼容
  15. A1114. Family Property
  16. Nginx详解十六:Nginx场景实践篇之缓存服务
  17. 微信jssdk分享功能开发
  18. JVM-即时编译JIT
  19. JS字符串和正则总结
  20. 114ic电子元器件网

热门文章

  1. Tomcat7 配置 ssl
  2. AmazeUI 框架知识点-组件
  3. oracle触发器和存储过程的格式
  4. ajax的理解与工作流程
  5. Jenkins中构建Testcomplete项目的方法介绍
  6. 在线图片压缩后以ImageIO 流的形式 设置大小显示指定页面
  7. JQuery的父、子、兄弟节点查找方法
  8. 利用js来实现文字的滚动(也就是我们常常见到的新闻版块中的公示公告)
  9. 单元测试模拟框架:Nsubstitute
  10. ASP.NET Core中显示自定义错误页面-增强版