、、、、、、

使用特殊的表单类型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. 一道常被人轻视的前端JS面试题

    前言 年前刚刚离职了,分享下我曾经出过的一道面试题,此题是我出的一套前端面试题中的最后一题,用来考核面试者的JavaScript的综合能力,很可惜到目前为止的将近两年中,几乎没有人能够完全答对,并非多 ...

  2. javascript-代理模式

    JavaScript代理模式笔记 由于一个对象不能直接引用另一个对象,所以要用过代理对象在这两个对象之间起到中介作用 1.代理对象形式是通过script标签 demo实例实现的方式也被人称之为JSON ...

  3. SQL范式

    第一范式:确保每列的原子性(字段不可分). 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式. 释义: 1.每一列属性都是不可再分的属性值,确保每一列的原子性 ...

  4. 教你看懂 OpenStack 日志 - 每天5分钟玩转 OpenStack(29)

    instance 从创建到删除的整个生命周期都是由 Nova 管理的. 后面各小节我们以 instance 生命周期中的不同操作场景为例,详细分析 Nova 不同组件如何协调工作,并通过日志分析加深大 ...

  5. android 遇到问题未处理

    在gridview 全屏,然后上面增加一个悬浮按钮,这样的布局如何设置 问题点,用相对布局,在代码寻找gridview的id时就报错了

  6. [django]Django的css、image和js静态文件生产环境配置

    前言:在Django中HTML文件如果采用外联的方式引入css,js文件或者image图片,一般采用<link rel="stylesheet" href="../ ...

  7. Machine Learning Algorithms Study Notes(5)—Reinforcement Learning

    Reinforcement Learning 对于控制决策问题的解决思路:设计一个回报函数(reward function),如果learning agent(如上面的四足机器人.象棋AI程序)在决定 ...

  8. 《Invert》开发日志00:缘起

    按照所有程序员的惯例,编号从0开始.本系列日志将记录一款独立游戏 发起->构思->设计->实现->完善->测试(如果需要)->上线->后期维护(如果有人玩) ...

  9. google的云盘与公司网盘

    很多人都很期待Google推出的云存储服务,也就是公司网盘.因为多数人相信,没有比google更适合做云存储的公司了,作为一个标准的Web公司或者说互联网公司,云端理所应当的优秀.但比起几年前听传言时 ...

  10. [普通平衡树splay]【学习笔记】

    参考: http://blog.csdn.net/clove_unique/article/details/50630280 gty课件 找一个好的风格太难了,自己习惯用struct,就强行用stru ...