我一直在使用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語句,以便我的代碼可以處理不同文件類型的上傳。
任何幫助非常感謝。 對不起我的英語不好和長問題。 在此先感謝
你可以檢查螢火蟲(或類似),並驗證在值被設定爲'type'查詢參數?向交換機添加一個「默認」情況可能也很有用。 – 2012-07-19 04:30:36
@TiesonT。謝謝你提醒我關於默認情況。 我檢查了使用螢火蟲腳本控制檯的JavaScript,並且好像$類型得到了正確的參數。 – s3polz 2012-07-19 04:50:14
有沒有什麼特別的理由不只是使用'$ type'的值?通過'filter_var'(http://php.net/manual/en/function.filter-var.php)運行後,當然 – 2012-07-19 04:54:52