0

Uploadify プラグインを使用してファイルをアップロードしています。基本的に、さまざまな種類のドキュメント (写真、フロアプラン、パンフレット) をアップロードする必要があります

だから、以下は私の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;
}

したがって、問題は、アップロード機能をスイッチ/ if-elseステートメントなしで外側/外側に配置すると、アップロードの進行状況が問題なく実行できることです。しかし、関数を switch / if-else ステートメント内に配置すると、突然アップロードが機能しなくなります。

コードでさまざまなファイル タイプのアップロードを処理できるようにするには、switch ステートメントが必要です。

どんな助けでも大歓迎です。私の下手な英語と長い質問で申し訳ありません。前もって感謝します

4

1 に答える 1

0

主な理由は、$typeの変数です。

$ typeの種類は?

var_dumpの関数を呼び出す

于 2012-07-19T04:39:25.377 に答える