我有兩個頁面,一個名爲upload-file.php,這個頁面將圖像上傳到數據庫和我的文件夾中。如何將PHP變量名傳遞給Javascript函數
我的PHP頁面看起來像這樣。
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file))
{
$insert=mysql_query("insert into match_item_image set item_id='".$_SESSION["session_temp"]."', image='".$name."', adid='$adid'") or die(mysql_error());
$cc=mysql_insert_id();
echo "success".$cc;
我的其他頁面包含一個javascript函數,它在上傳時顯示我的圖像。 我遇到的問題是,我需要更改圖像名稱時,上傳到我的文件夾。我能夠更改圖像名稱,但是當我上傳圖像時,它顯示爲空白,因爲JavaScript功能正在尋找圖像的原始名稱,當用戶上傳文件時。
這是函數的一部分:
$(function()
{
var btnUpload=$('#upload');
var status=$('#status');
new AjaxUpload(btnUpload, {
action: 'upload-file.php',
name: 'uploadfile',
onSubmit: function(file, ext)
{
if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
// extension is not allowed
status.text('Only JPG, PNG or GIF files are allowed');
return false;
}status.text('Uploading...');
},
onComplete: function(file, response)
{
//On completion clear the status
status.text('');
//Add uploaded file to list
var bb=response.substr(0,7)
var idd=response.replace('success',' ');
var idb =idd.replace(/^\s*|\s*$/g,'');
if(bb==="success")
{
$('<span id='+idd+'></span>').appendTo('#files').html('<img src="upload/+file+" alt="" width="290" height="330" class="image1" /><br><a href="javascript:void(0)" onClick="deleteFile('+idd+');" class="image1" > <span style="font-weight:bold; font-size:14px; color:red;" > Delete </span></a>').addClass('success');
}
else
{
$('<span></span>').appendTo('#files').text(response).addClass('error');
}
請讓我知道,如果有人可以提供幫助。
我是javascript的新手。
嗨,
我忘了補充一點的形式上傳的圖片看起來像這樣
<div id="upload" ><span>Upload Image<span></div><span id="status"></span>
<table><tr><td id="files"></td></tr></table>
我只需要知道我怎樣才能讓我的代碼顯示我已保存的圖像名稱我的文件夾和我上傳後,而不是用戶上傳的原始圖像名稱,因爲可能有其他用戶上傳的圖像具有相同的名稱,他們正在混淆。
感謝大家的幫助。我已經爲此工作了好幾個星期了,而且我似乎無法弄清楚。我只是不想放棄這段代碼,因爲它正是我所需要的。
他談論的是從響應傳遞文本使用Ajax從PHP腳本了。 – 2012-08-15 17:07:09
@MihaiIorga:我想我明白了。我建議他讓PHP文件返回一個JSON字符串,並從那裏獲取JS的值。 – user1477388 2012-08-15 17:09:12
從不將原始數據從PHP嵌入到JavaScript代碼塊中。您冒險引入語法錯誤並殺死整個腳本。總是使用json_encode。 – 2012-08-15 17:18:05