2010-09-05 39 views
0

我使用Uploadify插件上傳的圖片,我做了一些操作,例如問題與返回的使用Uploadify

一)當用戶上傳的上傳按鈕被刪除的文件自動 b)和文件名uploadify.php腳本將重命名該文件並將其存儲在指定的目錄中。

這裏是我用來執行操作的代碼。

jQuery代碼:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#fileUpload, #fileUpload2').uploadify({ 
     'uploader': 'img/uploadify.swf', 
     'script': 'uploadify.php', 
     'folder': 'upload', 
     'auto' : 'true', 
     'cancelImg': 'img/cancel.png', 
     'fileDesc': 'jpg/jpeg', 
     'displayData': 'percentage', 
     'fileExt': "*.jpg;*.jpeg", 
     'sizeLimit' : '8388608', 
     'fileDataName' : 'file', 
     onComplete : function(event, queueID, fileObj, reposnse, data) 
     { 
    $('#filesUploaded').append('<a href='+fileObj.filePath+'>'+fileObj.name+'</a><br>'); 
    $("#firstUpload").remove(); 
     } 
     }); }); 
     </script> 

,並在php我已經使用日期的組合一個唯一的ID重命名這是完全工作正常的文件。

但是當我要查看的文件名和我做,通過調用DIV

<div id="filesUploaded"></div> 

它顯示了原始文件名,而不是重命名的文件。我試圖從'+fileObj.name+' to '+response+'

改變i的值猜問題是上面的代碼內作爲file.Obj.name打印所選擇的文件名稱,而不是處理的文件,並且當我將其改變到+響應+它文件上載並重命名它,但在表單頁面中,它不打印重命名的文件名。並且它與構成100%進度的進度條一起凍結。

我該如何打印重命名的文件名?

謝謝

編輯:這是我的PHP代碼。

<?php 
include('database.php'); 
$date = date("dFY"); 
$query = "SELECT MAX(id) as max_id FROM news"; 
$result = mysql_query($query); 
$row = mysql_fetch_array($result); 
$max_id = $row['max_id']+1; 
echo $max_id; 
$file1 = "file_$date"."_$max_id.jpg"; 
if (!empty($_FILES)) { 
    $tempFile = $_FILES['file']['tmp_name']; 
    $targetPath = 'upload/'; 
move_uploaded_file($tempFile,$targetPath.$file1); 
} 
?> 
+0

不,你錯了,你可以參考這篇文章http://www.uploadify.com/forum/viewtopic.php?f=7&t=58並在文檔中也說它必須使用響應:從服務器發回的數據。必須有一些解決方案。 – 2010-09-05 06:24:19

+0

什麼是您的PHP代碼? – BoltClock 2010-09-05 06:25:45

+0

@BoltCock我編輯了我的文章。 – 2010-09-05 06:30:22

回答

1

問題出在這裏。 Javascript代碼有一個錯字。您已撥打reposnse而不是response撥打電話onComplete。像這樣做:

onComplete : function(event, queueID, fileObj, response, data) 

然後當你做+response+,該腳本將不會掛起,將顯示MaxID(這你從PHP腳本outputing)。

4

對我來說這沒有奏效。我一直在尋找類似的東西 - 這是爲我工作:

'onUploadSuccess' : function(file, data, response) { 
    alert('The file ' + file.name + ' was successfully uploaded with a response of ' + response + ':' + data); 
} 

在我來說,我用我的uploadify.php創建一個唯一的文件名 - 然後我用回聲$文件名 - 而不是「1」。這樣「數據」總是包含最新的文件名。 乾杯