Bangkejia (www.Bkjia.com) チュートリアル CKEditor の元のパッケージには、画像のサーバー側処理ファイルのアップロードが含まれていません。同社のもう 1 つのオープンソース製品である CKFinder は、優れた補足になります。しかし、ソースコードをダウンロードして設定する方がはるかに便利ですが、写真をアップロードするためだけにこのような大規模なシステムを使用するのは少しやりすぎで、処理用の PHP スクリプトを使用して自分で作成するのに午後を費やしました。追加のセキュリティ処理を行わずにファイルをアップロードできるようになりました。これが皆さんにとって役立つことを願っています。
まず、config.js ファイルに次のコードを追加します。
クリップボードにコピー引用コンテンツ:
[www.bkjia.com]
CKEDITOR.editorConfig = function( config ) {
config.filebrowserImageUploadUrl = './upload.php?type=img';
config.filebrowserFlashUploadUrl = './upload.php?type=flash'};
上記の設定は、処理するアップロードされたファイルのアドレスです。状況に応じて変更できます。 Upload.php ファイルは次のとおりです:
クリップボードにコピー
引用コンテンツ: [www.bkjia.com]
/* CKEditor_upload.php
monkee
2009-11-15 16:47
*/
$config=array();
$config['type']=array("フラッシュ"," img"); //アップロードでは value 型が許可されます
$config['img']=array("jpg","bmp","gif"); //img ではサフィックスが許可されます
$config['flash']=array ("flv","swf"); //フラッシュはサフィックスを許可します
$config['flash_size']=200; //アップロードフラッシュサイズの上限単位: KB
$config['img_size']=500;アップロード 画像サイズの上限単位:KB
$config['message']="アップロード成功"; //アップロード成功後に表示されるメッセージ
$ が空の場合は表示されません。 config['name']=mktime(); //アップロード後のファイル命名規則は Unix タイムスタンプで命名されます
$config['flash_dir']="/ckeditor/upload/flash"; //アップロードされた Flash ファイルのアドレスUpload.php ファイルを容易にするために絶対アドレスを使用します。サイト内の場所の後に「/」を追加しないでください
$config['img_dir']="/ckeditor/upload/img"; //アップロードには絶対アドレスを使用します。 img ファイルのアドレス。サイト内のどこでも、upload.php ファイルを簡単に作成できるようにするため、場所の後に「/」を追加しないでください。
$config['site_url']="" //Web サイトの URL画像をアップロードした後のアドレスに関連します。末尾に「/」を付けないでください
//File Upload
uploadfile();
{
global $config;
//不正な呼び出しかどうかを判断する
if(empty($_GET['CKEditorFuncNum']))
mkhtml(1,"","Wrong function Call request");
$fn=$_GET['CKEditorFuncNum' ];
if(!in_array($_GET['type'],$config['type']))
mkhtml(1,"","エラー ファイル呼び出し要求"); '];
if(is_uploaded_file($_FILES['upload']['tmp_name']))
{
//ファイルのアップロードが許可されているかどうかを判断する
$ filearr=pathinfo($_FILES['upload']['name' ]);
$filetype=$filearr["拡張子"];
if(!in_array($filetype,$config[$type]))
mkhtml( $fn,"","ファイルの種類が間違っています! ");
//ファイルサイズが要件を満たしているかどうかを判断します
if($_FILES['upload']['size']>$config[$type."_size"]*1024)
mkhtml($fn, "" ,"アップロードされたファイルは ".$config[$type."_size"]."KB!") を超えることはできません
//$filearr=explode(".",$_FILES['upload']['name) '] );
//$filetype=$filearr[count($filearr)-1];
$file_abso=$config[$type."_dir"]."/".$config['name']." ." .$filetype;
$file_host=$_SERVER['DOCUMENT_ROOT'].$file_abso;
if(move_uploaded_file($_FILES['upload']['tmp_name'],$file_host))
{
mkhtml($ fn, $config['site_url'].$file_abso,$config['message']);
}
else
{
mkhtml($fn,"","ファイルのアップロードに失敗しました。アップロード ディレクトリの設定とディレクトリを確認してください読み取りおよび書き込み権限 ");
}
}
}
//出力 js 呼び出し
function mkhtml($fn,$fileurl,$message)
{
$str='