導航:首頁 > 編程語言 > php上傳文件無刷新

php上傳文件無刷新

發布時間:2022-09-21 22:05:17

php,ajax。如何做到無刷新上傳圖片啊,關鍵是無刷新而且是圖片

最常見的做法有2種:

  1. 當選擇一個文件後,用JS動態的創建一個Iframe,Iframe內寫入一個隱藏的表單,然後讓表單提交;

  2. 利用Flash來實現上傳,但是缺點是必須手動的傳遞session_id,否則無法進行狀態維護;

❷ 用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實現無刷新上傳文件的簡單方法,想要健壯的程序的話需要再細化。

❸ php無刷新上傳後如何顯示上傳的圖片

msg = "上傳成功";
這句中改成:
msg =" <img border=0 src=你上傳的圖片的地址 alt='上傳成功' title='提示信息'/>"

❹ 請問如何用php實現實現頁面無刷新上傳圖片

1,頁面需要嵌入iframe
src是你另一個php程序,比如upload.php
2.form
提交的時候提交到iframe
3.upload.php判斷提交成功輸出一段js代碼,parent.document.getElemetById("PID").src="成功後的圖片地址";

❺ 用php做得網頁,當資料庫有數據錄入的時候,想自動在頁面上無刷新提示有信息錄入該怎麼做

可以直接用Timer控制項。
前台:
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick" ></asp:Timer>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
後台:
protected void Timer1_Tick(object sender, EventArgs e)
{
//讀取資料庫,判斷是否有數據更新,有則彈出消息提示 }

❻ thinkphp中怎樣無刷新上傳文件

其實和框架沒什麼關系,用ajax來做,實現無刷新上傳文件

❼ 如何運用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"上傳文件失敗";
}

❽ PHP里的ajax無刷新上傳圖片問題

html:
<input id="file" name="file" type="file"/>

jquery:
var formData = new FormData();
formData.append("file", $("#file")[0].files[0]);
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
//這里是上傳過程的實時,一般用於做進度條

}

}, false);
return xhr;
},
type: 'POST',
contentType:false,
processData:false,
url:'', //你php端的地址
data: formData,
}).done(function(d) {
console.log(d); //d是php的json返回
});

php端:
if ($_FILES['file']['error'] != 0) {
return '上傳錯誤';
}
$file = $_FILES['file']['tmp_name']; //這個是伺服器接收到的臨時文件的路徑,就是文件已經在伺服器上了

閱讀全文

與php上傳文件無刷新相關的資料

熱點內容
php備案號 瀏覽:986
php視頻水印 瀏覽:163
怎麼追程序員的女生 瀏覽:485
空調外壓縮機電容 瀏覽:77
怎麼將安卓變成win 瀏覽:457
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328
程序員留學移民 瀏覽:52
梁中間部位箍筋加密區 瀏覽:119
頻譜分析pdf 瀏覽:752
樂2怎麼升級安卓70 瀏覽:174
java中獲取日期 瀏覽:508
單片機74hc245 瀏覽:274
美國歷史上的總統pdf 瀏覽:753
程序員脫單實驗室靠不靠譜 瀏覽:460