当前位置:首页 > PHP教程 > php图像处理 > 列表

PHP类似AJAx上传图片简单实例

发布:smiling 来源: PHP粉丝网  添加日期:2014-01-08 15:01:37 浏览: 评论:0 

我们很多时候会在一些网站上,比如写在线简历的时候,会发现我们的图片选择一下,就会立即显示在当前页面,我们常常以为这种东西只有ajax才能实现,今天我稍微学习了一下,发现这种东西并不是ajax实现的。

最终还是用我们的基本知识HTML 中的FORM 来实现上传的,好的,现在我就把我知道的写出来,作为学习之用,当然这只是我自己的学习笔记,如果有错的地方,希望同道者给以指点一二。

首先我们明确一点,上传图片,我们还是用<from ….enctype=”multipart/form-data”>这种情况.

但是如何可以作到不刷新就把上传的图片显示出来呢?这里我们需要对<iframe></iframe>进行一个了解。

用过这个标签的朋友都知道,它可以将你的页面分成几个部分,且每个部分可以有自己的url,即显示几个不同的页面,说到这里或许有些朋友已经知道了这个是怎么一回事了,没错,上传图片就是利用的这个原理,看起来像是在同一个页面,没有跳转,然后事实上已经跳转了,只是我们没有看到而以,好的,下面是一个简单的例子,希望对大家都所帮助。

首先是index.php页面,代码简单如下:

  1. <form id=”content” action=”hello.php” method=”post” target=”yframe” enctype=”multipart/form-data”> 
  2. <input type=”file” name=”tValue”> 
  3. <input type=”submit” value=”submit”> 
  4. <iframe name=”yframe” src=”hello.php” style=”border:none;”></iframe> 
  5. </form> 
  6. <input type=”text”> 

然后是hello.php页面,也就是图片上传的页面,代码如下:

  1. <?php 
  2. //echo $_FILES["tValue"]["tmp_name"]; 
  3. if(move_uploaded_file($_FILES["tValue"]["tmp_name"], “img/a.jpg”)) 
  4. echo “<img src=’img/a.jpg’ width=’250px’height=’130px’>”; 
  5. ?> 

可以说已经完成了,这几行代码就可以将我们所需要的效果实现,下面来一个分析:首先在form里面有一个target,且它的值是位于它里面的一个iframe.意思是,我们提交后,页面会在这个iframe里面显示出来,从iframe的定义来看,它的内容就是hello.php,所以我们的表单提交后即直接到了这个iframe里面,所以页面不会跳转,但我们完成了上传,在从hello.php来看,上传后它会选择将图片显示出来,由前面可以知道hello.php的内容会显示到iframe里面,所以最后我们看到的效果就是页面没有跳转,我们可以做出一个类似ajax实现的效果,上传图片后可以在当前将其显示出来。

Tags: AJAx 上传图片 实例

分享到: