php無刷新上傳圖片
A. 非同步上傳圖片,怎麼實現表單提交,不刷新頁面,並且回顯圖片
你這是要用AJAX啊。
用JQUERY會方便一點。如果要用原生的js.
var xmlHttp=new XMLHttpRequest();
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
然後你的xmlHttp.open("POST",url);這里必須用POST。
接下來,就是xmlHttp.send(你的數據文件)
我這里是簡寫了。xmlHttp的生成在IE和其實瀏覽器下實例化是不一樣的。你可以找一下資料。
接下來,就是提交到伺服器上去了,你的程序處理保存圖片後,生成一個地址後回傳給請求的頁面。
你再xmlHttp.responseText獲取這個地址,就可以回顯了。
B. 求一個php無刷新圖片上傳插件,除swfupload之外的,可用立即給分,在線等
ajaxfileupload.js 這個插件可以,需要jquery
可以上官網看怎麼用
具體實現,可以自己研究也可以問我!
C. jquery ajax+php動態的在網頁中上傳圖片並且無刷新的預覽!不通過form提交!急啊!代碼也簡要寫一下!
將上傳組件file放在iframe中,上傳成功後將iframe自動跳轉到顯示圖片的頁面
D. php ajax如何上傳圖片
如果為了追求方便,直接使用jquery+uploadify ,這個組合封裝了許多上傳功能,可以實現無縫上傳。比如可以用戶選擇圖片直接自動上傳,然後顯示出來(當然這個腳本是要自己寫的),還有flash動畫,按鈕、進度條比較炫。而且有php後台腳本,甚至不用做修改。但是缺點是不支持iphone ipad。對ie 搜狗 和國內比較渣水的瀏覽器支持不好。
其次可以使用jquery+jqform,腳本簡單,但是沒有flash特效,樣式比較單一,不過其他功能比較全。
最後就是用原生,反正我是寫不出來……
E. 用php如何進行無刷新文件上傳
最近做項目時需要用到無刷新上傳圖片並預覽,在網上找了一些教程,似乎最簡單的方法就是iframe上傳。一個最原始最簡單的iframe上傳例子:
前台上傳頁面index.html,主要是一個表單與一個js回調函數。上傳文件時,form表單的method、 enctype屬性必須和下面代碼一樣。然後將target的值設為iframe的name,這樣就可以實現無刷新上傳文件。
XML/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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>上傳文件</title>
</head>
<body>
<script>
function CallbackFunction(str){
alert("上傳成功");
}
</script>
<form action="uploadfile.php" enctype="multipart/form-data" method="post" target="iframeUpload">
<iframe name="iframeUpload" src="" width="350" height="35" frameborder=0 SCROLLING="no" style="display:NONE"></iframe>
<input id="test_file" name="test_file" type="file">
<input value="上傳文件" type="submit">
</form>
</body>
</html>
後台上傳處理頁面uploadfile.php,這段代碼為簡單的上傳代碼,沒有進行錯誤及異常處理。上傳代碼執行完成後,要告訴父頁面已經上傳完畢了,因此,在這個頁面里調用父頁面的回調函數CallbackFunction,這個函數可以有參數,形式自己定義。
PHP代碼
<?php
set_time_limit(0);
if($_SERVER['REQUEST_METHOD']=='POST') {
move_uploaded_file($_FILES["test_file"]["tmp_name"],
dirname($_SERVER['SCRIPT_FILENAME'])."/UploadTemp/" . $_FILES["test_file"]["name"]);
echo "<script>window.parent.CallbackFunction();</script>";
}
?>
以上是用iframe實現無刷新上傳文件的簡單方法,想要健壯的程序的話需要再細化。
F. 多圖片無刷新上傳,php+ajax+jquery 誰有比較完整代碼發我下,謝謝
我這里有個類似的例子:
資料庫配置信息:
<?php
//資料庫配置信息(用戶名,密碼,資料庫名,表前綴等)
$cfg_dbhost = "localhost";
$cfg_dbuser = "root";
$cfg_dbpwd = "1";
$cfg_dbname = "test";
$cfg_dbprefix = "";
$link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);
mysql_query("set names utf8");
?>
接收數據:
<?php
header("Content-type:text/html;charset=utf-8");
include "config.php";
//post接收數據,只是演示效果,這里就省去驗證了
$name = $_POST['name'];
$content = $_POST['content'];
$sql = "insert into test (name,content) values ('{$name}','{$content}');";
$res = mysql_query($sql,$link);
if($res){
echo '{"name": "'.$name.'","content": "'.$content.'","status": "1"}';
}
?>
ajax+jquery的刷新
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無刷新</title>
<link href="css/css.css" type="text/css" rel="stylesheet" />
<style type="text/css">
body {
color: #555;
font-size: 14px;
padding: 0;
margin: 0;
}
#form {
background: #dedede;
padding: 10px 20px;
width: 300px;
}
#show {
background: #f6f6f6;
padding: 10px 20px;
width: 300px;
}
#show p {
margin: 6px;
font-size: 13px;
line-height: 22px;
border-bottom: 1px dashed #cdcdcd;
}
</style>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#sub").click(function(){
//只是說明原理,然後這里省去了驗證文本框內容的步驟,直接發送ajax請求
$.post("deal.php",{name : $("#name").val(), content : $("#content").val()}, function(data){
if(data.status){
var str = "<p><strong>"+data.name+"</strong> 發表了:"+data.content+"</p>";
$("#show").prepend(str); //在前面追加
}else{
alert("評論失敗");
}
}, 'json');
});
});
</script>
</head>
<body>
<div id="form">
<form action="deal.php" method="get" id="suggest_form">
用戶名:<input type="text" name="name" id="name" /><br />
內 容:<textarea name="content" id="content">
</textarea> <input type="button" value="發布" id="sub" />
</form>
</div>
<div id="show">
<?php
include "config.php";
$sql = "select * from test;";
$res = mysql_query($sql,$link);
while($row=mysql_fetch_array($res)){
echo "<p><strong>".$row['name']."</strong> 發表了:".$row['content']."</p>";
}
?>
</div>
</body>
</html>
G. php環境無法上傳圖片的幾種解決辦法
第二點、 php.ini配置文件(以下幾小點) 1、file_uploads 是否開啟 on 必須開啟 是否允許HTTP文件上傳;確定上傳大小 post_max_size = 8M (伺服器端) 2、PHP接受的POST數據最大長度 (客戶端) 要上傳大文件,該值必須大於"upload_max_filesize" 如果配置腳本中激活了內存限制,"memory_limit"也會影響文件上傳。 一般說來,"memory_limit"應該比"post_max_size"要大 允許上傳的文件的最大尺寸 upload_max_filesize = 1204KB3、每個腳本最大允許執行時間, 按秒計 這個參數有助於阻止劣質腳本無休止的佔用伺服器資源。 注: "max_execution_time"僅影響腳本本身的運行時間。 任何其它花費在腳本運行之外的時間,如用system()/sleep()函數的使用、資料庫查詢、文件上傳等都不包括在內。 在安全模式下,你不能用ini_set()在運行時改變這個設置,每個腳本接收輸入數據的最大允許時間(POST, GET, upload), 按秒計設定一個腳本所能夠申請到的最大內存位元組數。 這有助於防止劣質腳本消耗完伺服器上的所有內存,要使用此指令必須在編譯的時候激活。
H. 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>";
?>
非同步上傳圖片幾種方法
I. 如何運用PHP Ajax實現圖片的無刷新上傳
<metacharset="utf-8">
<formid="uploadForm">
<p>指定文件名:<inputtype="text"name="filename"value=""/></p>
<p>
上傳文件:
<inputtype="file"name="photo"onchange="showPreview(this)"class="file"/>
<imgid="portrait"src=""width="70"height="75">
</p>
<inputtype="button"value="上傳"onclick="doUpload()"/>
</form>
<scriptsrc="http://www.haoyunyun.cn/jquery.js"></script>
<script>
functiondoUpload(){
varformData=newFormData($("#uploadForm")[0]);
$.ajax({
url:'submit.php',
type:'POST',
data:formData,
async:false,
cache:false,
contentType:false,
processData:false,
success:function(returndata){
alert(returndata);
},
error:function(returndata){
alert(returndata);
}
});
}
</script>
<scripttype="text/javascript">
functionshowPreview(source){
varfile=source.files[0];
if(window.FileReader){
varfr=newFileReader();
fr.onloadend=function(e){
document.getElementById("portrait").src=e.target.result;
};
fr.readAsDataURL(file);
}
}
</script>
<?php
if($_FILES['photo']['error']>0){
echo"上傳文件失敗";
die;
}
$dir='./photo/';
$type=substr($_FILES['photo']['name'],strrpos($_FILES['photo']['name'],'.'));
$filename=time().rand(1000,9999).$type;
if(is_uploaded_file($_FILES['photo']['tmp_name'])){
move_uploaded_file($_FILES['photo']['tmp_name'],$dir.$filename);
echo"上傳成功";
}else{
echo"上傳文件失敗";
}
J. 請問如何用php實現實現頁面無刷新上傳圖片
1,頁面需要嵌入iframe
src是你另一個php程序,比如upload.php
2.form
提交的時候提交到iframe
3.upload.php判斷提交成功輸出一段js代碼,parent.document.getElemetById("PID").src="成功後的圖片地址";