我想將上傳的文件名添加到('.list')中。文件的名稱必須是它在服務器上傳時被調用的名稱。例如,我可以有2個文件,但有一個被稱爲mountains.png,另一個是mountains2.png。如何在JavaScript函數中傳遞一個php代碼?
但問題是,我怎麼能傳遞$ _FILES [「fileImage」] [「name」]作爲我的js函數的參數,然後追加它,因爲JavaScript函數和PHP腳本是在單獨的頁面上PHP腳本確實做了一個回調函數)?
UPDATE
下面是JavaScript代碼:
下面是形式代碼(QandATable.php)
<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='startImageUpload(this);' class='imageuploadform' >
<p>Image File: <input name='fileImage' type='file' class='fileImage' />
<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' />
</p>
<ul class='list'></ul>
</form>
下面是JavaScript函數(QandATable.php)
function stopImageUpload(success){
var nameimagefile = <?php echo $nameimagefile?>;
var result = '';
if (success == 1){
result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
$('.listImage').append(nameimagefile + '<br/>');
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
return true;
}
下面是t他的PHP腳本(imageupload.php):
$result = 0;
$nameimagefile = '';
if(file_exists("ImageFiles/".$_FILES['fileImage']['name'])) {
$parts = explode(".",$_FILES['fileImage']['name']);
$ext = array_pop($parts);
$base = implode(".",$parts);
$n = 2;
while(file_exists("ImageFiles/".$base."_".$n.".".$ext)) $n++;
$_FILES['fileImage']['name'] = $base."_".$n.".".$ext;
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
$nameimagefile = $_FILES["fileImage"]["name"];
}
else
{
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
$nameimagefile = $_FILES["fileImage"]["name"];
}
?>
<script language="javascript" type="text/javascript">window.top.window.stopImageUpload(<?php echo $result;?>);</script>
你必須尋找到AJAX爲 – hjpotter92 2012-04-18 11:30:11