我们很多时候会在一些网站上,比如写在线简历的时候,会发现我们的图片选择一下,就会立即显示在当前页面。我们常常以为这种东西只有ajax才能实现,今天我稍微学习了一下,发现这种东西并不是ajax实现的。
最终还是用我们的基本知识HTML 中的FORM 来实现上传的。好的,现在我就把我知道的写出来,作为学习之用,当然这只是我自己的学习笔记,如果有错的地方,希望同道者给以指点一二。
首先我们明确一点,上传图片,我们还是用
但是如何可以作到不刷新就把上传的图片显示出来呢?这里我们需要对进行一个了解。
用过这个标签的朋友都知道,它可以将你的页面分成几个部分,且每个部分可以有自己的url,即显示几个不同的页面。说到这里或许有些朋友已经知道了这个是怎么一回事了。没错,上传图片就是利用的这个原理。看起来像是在同一个页面,没有跳转,然后事实上已经跳转了,只是我们没有看到而以。好的,下面是一个简单的例子,希望对大家都所帮助。(php+html)
首先是index.php页面,代码简单如下:
<form id="content" action="hello.php" method="post" target="yframe" enctype="multipart/form-data"> <input type="file" name="tValue"> <input type="submit" value="submit"> <iframe name="yframe" src="hello.php" style="border:none;"></iframe> </form> <input type="text">
然后是hello.php页面,也就是图片上传的页面
<?php //echo $_FILES["tValue"]["tmp_name"]; if(move_uploaded_file($_FILES["tValue"]["tmp_name"], "img/a.jpg")) { echo "<img src=’img/a.jpg’ style="max-width:90%"PHP类似AJAx上传图片简单实例 " >"; } ?>
可以说已经完成了,这几行代码就可以将我们所需要的效果实现。
下面来一个分析:
首先在form里面有一个target,且它的值是位于它里面的一个iframe.意思是,我们提交后,页面会在这个iframe里面显示出来,
从iframe的定义来看,它的内容就是hello.php。所以我们的表单提交后即直接到了这个iframe里面,所以页面不会跳转,但我们完成了上
传,在从hello.php来看,上传后它会选择将图片显示出来,由前面可以知道hello.php的内容会显示到iframe里面,所以最后我们看到的效果就是页面没有跳转,我们可以做出一个类似ajax实现的效果,上传图片后可以在当前将其显示出来。