2012-01-24 16 views
0

私はcodeigniterを使用しており、アップロードしています。私は内蔵のuploadify.phpを使用していません。代わりに自分のコントローラで自分の関数を使用しています。これは私のアプリケーションワークフローにもっと適しています。私はuploadifyをインストールし、それを.phpファイルでビルドしてテストします。それは良い作品です。しかし、私自身のスクリプトを使ってみると、ファイルをアップロードできませんでした。エラーは言った:Uploadifyとcodeigniterを使用してファイルをアップロードできません

A PHP Error was encountered 

Severity: Warning 

Message: Illegal offset type in isset or empty 

Filename: libraries/Upload.php 

Line Number: 147 

You did not select a file to upload. 

それはどういう意味ですか?私は私の質問を明確にするためにファイル... を選択していると確信して、ここに私のコードです: ビュー:

<?php echo form_open_multipart('profile/do_upload_song');?> 
<input id="uploadifyit" type="file" name="filedata" /> 
<a href="javascript:$('#uploadifyit').uploadifyUpload();">Upload Files</a> 
<?php echo form_close(); ?> 

.JS:

$("#uploadifyit").uploadify({ 
     'uploader'  : 'js/jquery/jquery-plugins/uploadify/uploadify.swf', 
     'script'   : 'profile/do_upload_song', 
     'cancelImg'  : 'js/jquery/jquery-plugins/uploadify/cancel.png', 
     'folder'   : 'media', 
     'scriptAccess' : 'always', 
     'displayData' : 'speed', 
     'auto'   : false, 
     'multi'   : true, 
     'fileDataName' : 'Filedata', 
     'fileExt'  : '*.mp3', 
     'method' : 'post', 
     'removeCompleted' : false, 
     'onComplete': function(event, queueID, fileObj, reposnse, data) { 

      $('#fileinfotarget').append('<p>'+reposnse+'</p>'); 
     } 
     }); 

コントローラ:

function do_upload_song() 
    { 

     $config['upload_path'] = './media/'; 
     $config['allowed_types'] = 'mp3'; 
     $config['max_size'] = '144400'; 
     $config['max_width'] = '1024'; 
     $config['max_height'] = '768'; 

     $this->load->library('upload', $config); 

     if (! $this->upload->do_upload($_FILES['Filedata'])) 
     { 
      echo $this->upload->display_errors(); 

     }  
     else 
     { 
      $data = array('upload_data' => $this->upload->data()); 

      print_r($data); 
     } 


    } 

私のコードで何が問題になっていますか?アドバイスの人?古い質問の上おかげ

答えて