、、、、、、

使用特殊的表单类型file,

主(上传)页面:

<form action="chuli.php" method="post" enctype="multipart/form-data">
 <input type="file" name="file" />
    <input type="submit" value="上传" />
、、、、、、、、、、、、、、、、、、、、、、、</form>

处理页面:

//var_dump($_FILES);

//1.判断是否出错
//2.控制上传的格式
//3.控制上传文件的大小
//4.控制文件名不能重复(如果重复不能上传)
//怎么让文件名不重复
 //1.文件名自动生成
 //2.使用文件夹的方式
 
//5.保存文件

if(!$_FILES["file"]["error"])
{
 if($_FILES["file"]["type"]=="image/jpeg" && $_FILES["file"]["size"]<=1024000)
 {
  $filename = "./file/".date("YmdHis").$_FILES["file"]["name"];
  $filename = iconv("UTF-8","gb2312",$filename);   //将文件名

if(!file_exists($filename))
  {
   //上传
   move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
  }
  else
  {
   echo "该文件已存在";
  }
 }
 else
 {
  echo "文件格式或大小不对";
 }
}
else
{
 echo $_FILES["file"]["error"];
}

上传预览:

主页面:

<body>
<form id="sc" action="shangchuan.php" target="hidden_frame" method="post" enctype="multipart/form-data">
<div id="yl" style="margin-left:0px; width:144px; height:170px; background-size:144px 170px; background-image:url(../chexiangqing/images/22.jpg)">
<input type="file" name="file" style="width:144px; height:170px; float:left; opacity:0;" width="146" onchange="document.getElementById('sc').submit()"/> </div>
<input type="button" value="保存"/>
</form>
<iframe style="display:none;" name="hidden_frame" id="hidden_frame">
</iframe> </body>
<script type="text/javascript">
//回调函数
function showimg(aa)
{
var l = document.getElementById("yl");
l.style.backgroundImage = "url("+aa+")";
}
</script>

处理页面:

<?php
//上传文件限制
if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")|| ($_FILES["file"]["type"] == "image/png"))&& ($_FILES["file"]["size"] < 10000000))
{
//文件上传是否出错
if ($_FILES["file"]["error"] > 0)
{
echo "上传出错: " . $_FILES["file"]["error"] . "<br />";
}
else
{ //判断文件是否已存在
$filename = "images/".$_FILES["file"]["name"];
$filename = iconv("UTF-8","gb2312",$filename); if (file_exists($filename))
{
echo "<script language='javascript'>alert('文件已经存在!')</script>"; }
else
{
//移动图片至保存路径,解决中文乱码问题
move_uploaded_file($_FILES["file"]["tmp_name"],$filename); echo "<script language='javascript'>parent.showimg('".$filename."')</script>";
}
}
}
else
{
echo "上传失败";
} ?>

PHP WAMP 文件上传 及 简单的上传预览的更多相关文章

  1. 文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)--SNF快速开发平台3.0

    实际上在SNF里使用附件管理是非常简单的事情,一句代码就可以搞定.但我也要在这里记录一下统一附件管理器能满足的需求. 通用的附件管理,不要重复开发,调用尽量简洁. 批量文件上传,并对每个文件大小限制, ...

  2. 图片上传,支持同步/异步、预览(MVC、uploadify异步提交、js预览、ajaxSubmit异步提交)兼容大部分浏览器,含代码

    图片上传代码,支持同步/异步和图片的预览 主要用了两种方式,可兼容大部分浏览器. 第一种使用uploadify异步上传,上传后返回图片路径显示到页面. 每二种使用ajaxSubmit异步上传,为兼容I ...

  3. Linux系统下使用ckfinder上传中文名的图片无法正常预览

    问题描述:使用ckfinder上传带有中文名称的图片后在Windows本地可以正常预览,部署在Linux系统后,带有中文名的图片不能正常显示 解决办法:找到Tomcat的根目录 --> conf ...

  4. APP图标设计小技巧:在iOS上快速获得APP图标的真实预览图

    严格来说,这并不是一篇关于前端开发的文章,因为涉及到的知识非常浅.这只是一个向设计狮们分享的小经验,只是其中用到了一些前端内容. 最近接了个私活,了解到一个初创公司正在高价悬赏Logo(主要用于APP ...

  5. Node.js + gulp 合并静态页模版,文件更新自动热重载。浏览器可预览

    github地址:https://github.com/Liaozhenting/template 使用的是ejs的语法.其实你用什么文件后缀都可以,都是按ejs来解析. 模板文件放在componen ...

  6. C# MVC Ajax上传多个图片,可预览,可重复上传等

    //上传文件 function UploadFile(el) { var dataValue = $(el).attr("data-id"); var ele = dataValu ...

  7. 简单实现JS上传图片预览功能

    HTML代码 <div class="upload"> <input type="button" class="btn" ...

  8. iOS- XKZoomingView 简单的图片缩放预览,支持横屏、长图【手势:单击、双击、放大缩小】

    XKZoomingView.h #import <UIKit/UIKit.h> @interface XKZoomingView : UIScrollView /** 本地图片 */ @p ...

  9. jquery实现简单鼠标经过图片预览效果

    html结构:<div class="prebtn"><img src=""/></div> css代码:#preview{ ...

随机推荐

  1. Centos7中所有的关机命令的奇怪现象

    今天在研究shutdown,reboot,halt,poweroff几种关机命令的区别是发现他们都是/bin/systemctl的软连接 ls -l /sbin/{shutdown,reboot,ha ...

  2. c#多态性

    class Program { static void Main(string[] args) { //声明一个派生类 devierExample de = new devierExample(); ...

  3. java中执行系统命令

    java程序中执行系统命令猛击下面的链接看看你就知道怎么用了 http://blog.csdn.net/a19881029/article/details/8063758 http://wuhongy ...

  4. Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法

    一.单元测试的目的 简单来说就是在我们增加或者改动一些代码以后对所有逻辑的一个检测,尤其是在我们后期修改后(不论是增加新功能,修改bug),都可以做到重新测试的工作.以减少我们在发布的时候出现更过甚至 ...

  5. shell parameter expansitions

    type testtype -a test math calculate:echo $((1+2*3)) parameter expansition:bash-4 introduced feature ...

  6. 《小白的CFD之旅》招募写手

    <小白的CFD之旅>系列招募写手. 由于工作繁忙,<小白的CFD之旅>系列更新缓慢,现招募志愿者写手.这是一个分享平台,欢迎各位愿意分享自己CFD学习经历的朋友们. <小 ...

  7. CWMP开源代码研究2——easycwmp安装和学习

    声明:本文是对开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅号:408797506) 本文所有笔记和代码可以到csdn下载:http://download.csdn.n ...

  8. 【C#】【Thread】BackgroundWorker的使用

    BackgroundWorker 可以用于启动后台线程. 主要的事件及参数: 1.DoWork --当执行BackgroundWorker.RunWorkerAsync方法时会触发该事件,并且传递Do ...

  9. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 员工离职管理

    当公司有几万人,上千家加盟网点,几个庞大的直属分公司后,系统账户的有效管理也是一个头疼的问题,把所有的帐户及时进行科学的管理,有人员离职时及时进行记录,防止离职人员的系统账户有各种安全漏洞. 谁什么时 ...

  10. # 2015-2016-2 《Java程序设计》课程总结

    2015-2016-2 <Java程序设计>课程总结