我一直在使用 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
}
});
});
所有上传都将由uploader.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;
}
所以,问题是如果我把上传功能放在外面/没有 switch/if-else 语句,上传进度可以毫无问题地运行。但是当我将函数放在 switch / if-else 语句中时,突然上传不起作用。
我需要 switch 语句,以便我的代码可以处理不同文件类型的上传。
非常感谢任何帮助。对不起我的英语不好和很长的问题。提前致谢