导航:首页 > 编程语言 > phpiframe图片上传

phpiframe图片上传

发布时间:2022-12-10 03:33:51

php后台商品添加,需要两个表单,一个用于提交上传图片,一个用于提交商品数据到数据库。

看你图片上的表单设计,你都有“上传”按钮了,这就是等于已经把图片上传上去了(而此时表单的其他数据还没有提交)

一般来说,PHP做商品添加,表单的其他数据和图片的上传都是一起来提交的,而如果你要检查图片是否上传成功来决定是否提交其他表单数据的话,可以这样设计:
一、你现在的这个表单不用改,只需要在最下面的那个“确定”按钮上加个JS判断,判断一下上面的图片是否上传成功(如果图片上传这里成功上传了图片,你返回一个图片的保存路径及图片名称到一个隐藏的文本框里面,然后在“确定”按钮的JS代码里去取这个隐藏的文本框的值,如果有值就可以判定这个图片是上传成功的了,否则失败则整个表单的数据都不能提交)

二、图片上传框这里,确实因为表单不能嵌套,所以这个位置你就要采用一个iframe来加载另一个上传图片的页面(这个上传图片的页面代码很简单,就是那个图片上传框(当然你得加一些权限判断不然就会是一个上传漏洞了),然后写相应的上传代码把图片上传上去最后返回上传后的图片路径及文件名等信息,使用
parent.表单名.隐藏文本框名.value='xxxx.jpg'
这个JS语句来实现把你上传的图片信息保存到你的隐藏文本框里。
上面这句parent...语句的详解如下:
a.由于你的图片上传页面是放在iframe里的,因此你要把iframe里的页面的内容保存到上一层页面(即你这个添加商品的页面,也就是这个加了iframe代码的页面)
举例个吧:
你添加商品的页面文件名是a.php,在a.php的表单里你加了一个<iframe src="b.php"></iframe>
这里面的b.php就是你的上传图片的页面(在b.php中就是你正常的上传图片的表单),另外你接收上传及处理上传的程序都是在这个iframe里面完成的。。

这样应该明白了吧。既然你的上传后的返回值是在iframe里的页面中的,那要想把它保存到a.php这个页面的一个隐藏文本框里,就要使用parent了。。。
所以上面那个js语句是:parent.表单名....

b.这个js语句parent.表单名.隐藏文本框名.value='xxx'中的“表单名”、“隐藏文本框名”,是指的a.php这个页面的表单名哦。
比如你a.php的表单是<form name="addpro_form" method="post">,那么这个JS语句中的表单名也就是addpro_form。隐藏文本框同理。

这样,你明白了吧?

我写个简单的实例你看看:
a.php的代码:
<form name="addpro_form" method="post" action="a.php?act=save">
商品名称:<input type="text" name="pro_name" /><br />
商品价格:<input type="text" name="pro_price" /><br />
商品图片:<input type="hidden" name="pro_img" />
<iframe width="500" height="50" src="b.php"></iframe><br />
商品说明:<textarea name="pro_intro"></textarea><br />
<input type="submit" value="确定" />
</form>

以上是a.php的代表,也就是整个表单,其中表单名是addpro_form,隐藏文本框名是pro_img。

接着写b.php的:
<form name="upfile_form" method="post" action="upload.php" enctype="multipart/form-data">
<input type="file" name="upimages"><input type="submit" value="上传">
</form>
b.php的页面很简单就是一个上传表单而已

然后upload.php是用来接收上传的图片并返回值的:
<?php
//以下是PHP上传图片的代码(我就不写了)
......
//假设上传后得到图片名称
$imgname="111.jpg";
?>
<script type="text/javascript">
window.onload=parent.addpro_form.pro_img.value='<?php echo $imgname; ?>';
</script>

好了,upload.php的代码也写完了,上面一段php代码是上传图片最后得到上传后的图片名称,接着用一段js代码把图片名称返回到上一页去。

Ⅱ php如何将图片传到文本域中

文本域是指textarea吗?直接不可以,需要做一层转换,如将文本域的内容同步到一个iframe里。另外可以用现成的插件如:ckeditor,kindeditor,xheditor,ueditor这样的富媒体编辑器才可以。
上传插件可以uploadify。

Ⅲ PHP上传图片并把图片地址写入表单中!

其实要保存上传的图片地址并不需要专门地一个input表单项,只要在这个form提交到的后台页面里面做相应处理即可。
你可在后台的表单处理页面里面查找 move_uploaded_file() 这个函数,它的第一个参数是图片的临时文件名,第二个参数是即将保存的地址。只要把这第二个参数保存到数据库即可满足您的要求,并不需要从表单提交一个图片过来再保存。

Ⅳ PHP 如何实现上传图片的值,在文本框显示

<textarea name="ar1" id="ar1" cols="20" rows="3">这里是你文本框原有的内容</textarea>
<script language="javascript">
document.getElementById("ar1").value=document.getElementById("ar1").value+'图片地址'
</script>
你用iframe上传图片,无刷新。将地址弄回来加上去,不用提交,原有文本内容存在。类似回帖时添加图片的功效

Ⅳ 用php写了一个简单的发布信息页面,上传完图片后页面会自动刷新,之前填的就全没了,求高手解决!!

楼上的办法挺好.. 一个是ajax解决..如果不懂ajax可以网络搜索(资料很多的)
另外就是楼上的iframe嵌套来实现
你可以把上传的代码单独放一个文件(也就是上传用的form表单单独放置,最好不要有文字,只放上传按钮、选择框)
然后在原页使用<iframe src="这里写单独文件地址" row="*"></iframe>来嵌套刚才的文件..
iframe还有很多属性.. 是HTML的代码,你可以搜索更详细的相关内容

如果你实在弄不懂.. 就把上传图片的功能和本来的表单放在一起处理吧

Ⅵ php上传图片那个怎么做到前台直接提示上传成功的啊ajax 怎么得到上传的临时文件名

上传图片这个处理有几个思路:
1、使用form提交到当前页面的iframe(空内容)中。
2、使用form提交数据到使用js新建的iframe里。
3、直接通过js新建form、新建iframe,提交、接收服务器端返回的响应。(这个网上找的插件可以看到,如fileuploader)

4、使用FormData对象(有些浏览器不兼容)

获取临时文件名,只需执行提交后echo 数据出来,前台接收到即可。

Ⅶ php 异步上传图片几种方法总结

代码如下
form action="upload.php" id="form1" name="form1" enctype="multipart/form-data" method="post" target="uploadIframe"> <!--上传图片页面 --> </form> <iframe name="uploadIframe" id="uploadIframe" style="display:none"></iframe>
然后后台处理完上传图片逻辑后返回给前台,利用ajax修改当前页面DOM对象实现无刷新上传图片的友好功能。
实例
代码如下
a.html <form enctype="multipart/form-data" action="a.php" target="ifram_sign" method="POST"> <input name="submit" id="submit" value="" type="hidden"> <label>上传文件: <input name="test_file" type="file" id="test_file" size="48"></label> <input type="image" value="立即上传" id="submit_btn"> </form><iframe name="ifram_sign" src="" frameborder="0" height="0" width="0" marginheight="0" marginwidth="0"></iframe>
php代码:
代码如下
<?php
if ($_files["test_file"]["error"] > 0)
{
echo "Error: " . $_files["test_file"]["error"] . "<br />";
}
else
{
//这里的判断图片属性的方法就不写了。自己扩展一下。
$filetype=strrchr($_files["test_file"]["name"],".");
$filetype=substr($filetype,1,strlen($filetype));
$filename="img/".time("YmdHis").".".$filetype;
move_uploaded_file($_files["test_file"]["tmp_name"],$filename);
echo '<script >alert(1)</script>';
$return="parent.document.getElementByIdx_x('mpic".$pageset_id."').innerhtml='".$dataimgpath."'";
echo "<script >alert('上传成功')</script>";
echo "<script>{$return}</script>";
}
?>
其实jquery ajax图片异步上传
html:
<!DOCTYPE html PUBLIC "-//W3C//dtd Xhtml 1.0 transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
<head>
<title>图片异步上传</title>
</head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<link type="text/css" rel="stylesheet" href="css/index.css">
<body>
<div class="frm">
<form name="uploadFrom" id="uploadFrom" action="upload.php" method="post" target="tarframe" enctype="multipart/form-data">
<input type="file" id="upload_file" name="upfile">
</form>
<iframe src="" width="0" height="0" style="display:none;" name="tarframe"></iframe>
</div>
<div id="msg">
</div>
</body>
</html>

index.js
$(function(){
$("#upload_file").change(function(){
$("#uploadFrom").submit();
});
});

function stopSend(str){
var im="<img src='upload/images/"+str+"'>";
$("#msg").append(im);
}

upload.php
<?php
$file=$_files['upfile'];
$name=rand(0,500000).dechex(rand(0,10000)).".jpg";
move_uploaded_file($file['tmp_name'],"upload/images/".$name);
//调用iframe父窗口的js 函数
echo "<script>parent.stopSend('$name')</script>";
?>

异步上传图片几种方法

Ⅷ 新大陆picturemoreupload.iframe.php后台上传图片失败

您给的错误提示太少,目前能知道的仅仅是哪个文件报错了而已哦。

阅读全文

与phpiframe图片上传相关的资料

热点内容
openldaplinux安装 浏览:21
java取月的最后一天 浏览:10
腾讯云服务器多久退款 浏览:947
微信广告植入系统源码 浏览:922
一年级语文上册pdf 浏览:313
好久不见app干什么用的 浏览:143
压缩包解压码对方可以更改吗 浏览:256
pdf电子书制作软件 浏览:888
数控三通编程 浏览:300
linux多终端 浏览:811
法律写作pdf 浏览:144
国货哪个品牌最好app 浏览:951
看哪个app给钱最多 浏览:178
编程靠经验吗 浏览:759
c教程pdf下载地址 浏览:573
制作视频哪个app有瘦脸功能 浏览:649
linux查看线程内存 浏览:509
命令行签名apk 浏览:92
网页照片旋转源码 浏览:842
QQ会员头像源码 浏览:263