まずはckeditor導入してアップロード機能を用意 | WEB系技術電脳日記

まずはckeditor導入してアップロード機能を用意

先程の続き(´・ω・)ス
CMSというからにはまずはWYSIWYG
現状のWYSIWYGをリストアップ、
今回選んだのは ckeditor
http://ckeditor.com/

デフォルトで画像のアップロード機能が見当たらないので、早速用意する。
ckeditor内のconfig.js
//アップロード処理をするPHP
config.filebrowserUploadUrl = '/admin/upload.php';
//ファイルブラウズ処理するPHP
config.filebrowserBrowseUrl = '/admin/choice.php';
続けてそれぞれコードを書いていく。
参考:http://itsalon.main.jp/yusepress/?p=592
choice.php
<script>
 
function getreturn(tmpstr,num)
{
    window.opener.CKEDITOR.tools.callFunction(num, '../upload_images/'+tmpstr);
    window.close();
}
</script>

<?php
echo "<hr>"."画像一覧"."<hr>";
$num = $_GET['CKEditorFuncNum'];
if ($handle = opendir('../upload_images')) {
    while (false !== ($file = readdir($handle))) {
         if($file != "." && $file != "..")
         {
              echo "<a href=\"#\" onclick=\"getreturn('".$file."','".$num."')\"><img border=\"0\" width=\"100\" src=\"/upload_images/".$file."\"></a><br><br>";
         }
    }
    closedir($handle);
}
?>
次にアップロード部
<?php

$filename     = $_FILES["upload"]["name"];
$filename_new = time();

$getinfo  = getimagesize($_FILES["upload"]["tmp_name"]);

//echo $getinfo['mime'];


// '.'を検索し、それ以降の文字を取得する
$kaku =  '.'.substr($filename, strrpos($filename, '.') + 1);

//TODO 画像ファイルなら下記を実行させる。
//     そんな分岐を用意する

$upload_file = "../upload_images/".$filename_new.$kaku;
 if(move_uploaded_file($_FILES["upload"]["tmp_name"],$upload_file)) {
    echo $_FILES["upload"]["name"] . "をアップロードしました。";
  } else {
    echo "ファイルをアップロードできません。";
  }
?>