2012-07-19 40 views
0

我一直在使用Uploadify插件上傳文件。 基本上,我需要上傳不同類型的文件(照片,平面佈置圖,宣傳冊)uploadify無法上傳在開關/ if - else語句

所以,下面是我的uploadify代碼(上傳表單)

<? $sid = session_id(); ?> 

$(document).ready(function() { 
    $('#file_upload').uploadify({ 
     'uploader' : 'js/uploadify214/uploadify.swf', 
     'script' : 'uploader.php?pid=<? echo $pid; ?>&type=<? echo $type; ?>', 
     'scriptData': {'session': '<? echo $sid; ?>'}, 
     'multi': true, // enable multiple upload 
     'queueSizeLimit': 5, // number of file at once 
     'onQueueFull': function(event, queueSizeLimit) { 
      alert("You can only upload " + queueSizeLimit + " files at once"); 
      return false; 
     }, 
     'cancelImg' : 'js/uploadify214/cancel.png', 
     'auto'  : false, 
     'onAllComplete' : function(event,data) { 
       window.location = "files.php?pid=<? echo $pid; ?>" // redirect to previous page 
     } 
    }); 
}); 

所有上傳將由上傳處理.PHP 以下是代碼

session_id($_REQUEST['session']); 
require_once('function.php'); 

$pid = $_REQUEST['pid']; 
$type = $_REQUEST['type']; 
$photo_file = $_FILES['Filedata']; 
$photo_tags = 'test'; 
$status = '1'; 
$inuse = 0; 

// the function will run if i put it here 
property_photo_upload($user_id, $pid, $photo_file, $photo_tags, $inuse, 'photo'); 

// but if i put it in switch/if-else statement, the code will not run 
switch($type){ 
    case 'photo' : 
     property_photo_upload($user_id, $pid, $photo_file, $photo_tags, $inuse, 'photo'); 
     break; 

    case 'floorplan' : 
     property_doc_upload($user_id, $pid, $photo_file, $photo_tags, $inuse, 'floorplan'); 
     break; 

    case 'brochure' : 
     property_doc_upload($user_id, $pid, $photo_file, $photo_tags, $inuse, 'brochure'); 
     break; 
} 

那麼,問題是,如果我把上傳功能OUTSIDE /不帶開關/ if-else語句,上傳進度能運行沒有任何問題。 但是,當我把該功能在switch/if-else語句中,突然上傳不起作用。

我需要switch語句,以便我的代碼可以處理不同文件類型的上傳。

任何幫助非常感謝。 對不起我的英語不好和長問題。 在此先感謝

+0

你可以檢查螢火蟲(或類似),並驗證在值被設定爲'type'查詢參數?向交換機添加一個「默認」情況可能也很有用。 – 2012-07-19 04:30:36

+0

@TiesonT。謝謝你提醒我關於默認情況。 我檢查了使用螢火蟲腳本控制檯的JavaScript,並且好像$類型得到了正確的參數。 – s3polz 2012-07-19 04:50:14

+0

有沒有什麼特別的理由不只是使用'$ type'的值?通過'filter_var'(http://php.net/manual/en/function.filter-var.php)運行後,當然 – 2012-07-19 04:54:52

回答

0

主要原因是$ type的變量。

什麼類型的$ type?

通話的var_dump功能

+0

$ type是從前一頁傳遞的(照片,平面圖,宣傳冊)。 我已經在uploadify javascript之前回復了$ type,並且輸出是正確的。 我沒有使用Firebug javascript控制檯進行檢查,並且type的值也是正確的。 – s3polz 2012-07-19 04:51:53