エラーは発生しませんが、コントローラーがまったく呼び出されないなど、画像がアップロードされていません。contruct関数log_messageを追加すると、ログファイルに何も表示されず、何が問題なのかわかりません。ところで、私はこのライブラリ ( http://jeromejaglale.com/doc/php/codeigniter_i18n ) を使用して言語を管理しているので、URL にhttp://getit.mysite/enがあります。
これが私のコントローラー機能です
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class FileUpload extends CI_Controller {
public $view_data = array();
private $upload_config;
function __construct() {
parent::__construct();
}
public function do_upload() {
$this->load->library('upload');
$image_upload_folder = base_url() . 'uploads/';
if (!file_exists($image_upload_folder)) {
mkdir($image_upload_folder, DIR_WRITE_MODE, true);
}
$this->upload_config = array(
'upload_path' => $image_upload_folder,
'allowed_types' => 'png|jpg|jpeg|bmp|tiff',
'max_size' => 2048,
'remove_space' => TRUE,
'encrypt_name' => TRUE,
);
$this->upload->initialize($this->upload_config);
if (!$this->upload->do_upload()) {
$upload_error = $this->upload->display_errors();
echo json_encode($upload_error);
} else {
$file_info = $this->upload->data();
echo json_encode($file_info);
}
}
}
?>
とjs
jQuery(document).ready(function($) {
var base_url = 'http://getit.mycom/';
$('#upload-file').click(function(e) {
e.preventDefault();
$('#userfile').uploadify('upload', '*');
});
$('#userfile').uploadify({
'auto': false,
'swf': base_url + 'js/uploadify/uploadify.swf',
'cancelImg': base_url + 'js/uploadify/uploadify-cancel.png',
'uploader': base_url + 'fileupload/do_upload',
'fileTypeExts': '*.jpg;*.bmp;*.png;*.tif',
'fileTypeDesc': 'Image Files (.jpg,.bmp,.png,.tif)',
'fileSizeLimit': '8MB',
'fileObjName': 'userfile',
'buttonText': 'Select Photo(s)',
'multi': true,
'removeCompleted': false
});
});
ファイルを表示(ユーザーを追加):
<?php echo form_open_multipart(); ?>
<ul class="unstyled">
<li>
<?php echo form_upload('userfile', '', 'id="userfile"'); ?>
<?php echo (isset($error)) ? $error : ''; ?>
</li>
<li>
<?php echo form_button(array('content' => 'Upload', 'id' => 'upload-file', 'class' => 'btn btn-large btn-primary')); ?>
</li>
</ul>
<?php echo form_close(); ?>