私は、redactorjsと呼ばれるwysiwygエディターでCodeigniterを使用しようとしています。基本的に、私が達成しようとしていることはここで見つけることができます:http: //imperavi.com/redactor/docs/images/
とても簡単に思えますが、動作させることができません。コンソールで500エラーが発生し続けます。これが私の現在のコーディングです:
Redactor js:
<script type="text/javascript">
$(document).ready(
function() {
$('#redactor_content').redactor({
imageUpload: 'user/simple_upload'
});
});
</script>
アップロードを処理するPHPクラス:
class User extends MX_Controller
{
public function simple_upload()
{
$dir = './uploads/user_post_uploads/';
$_FILES['file']['type'] = strtolower($_FILES['file']['type']);
if ($_FILES['file']['type'] == 'image/png' || $_FILES['file']['type'] ==
'image/jpg' || $_FILES['file']['type'] == 'image/gif' || $_FILES['file']['type'] ==
'image/jpeg' || $_FILES['file']['type'] == 'image/pjpeg') {
// setting file's mysterious name
$filename = md5(date('YmdHis')) . '.jpg';
$file = $dir . $filename;
// copying
copy($_FILES['file']['tmp_name'], $file);
// displaying file
$array = array('filelink' => base_url() . 'uploads/user_post_uploads/' . $filename);
echo stripslashes(json_encode($array));
}
}
}
基本的に例と同様のコントローラー関数を作成し、それをredactor関数で参照します。動作していないようです...コンソールで次のエラーが発生し続けます:
POST http://localhost/appname/user/simple_upload 500 (Internal Server Error) - /improciety/user/simple_upload:1
Uncaught TypeError: Cannot read property '0' of null - redactor.js:3100
Redactor.uploadLoaded - redactor.js:3100
g - jquery.js:2
f.event.dispatch - jquery.js:3
h.handle.i - jquery.js:3