ホームページ  >  記事  >  バックエンド開発  >  UEditor でのリモート画像アップロードの失敗の解決策 editor_PHP チュートリアル

UEditor でのリモート画像アップロードの失敗の解決策 editor_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:16:23775ブラウズ

リモート画像アップロードは非常に興味深いもので、たとえば、別の Web サイトからファイルをコピーした場合、テキストに画像が含まれている場合、エディターが自動的に画像を抽出してアップロードするため、リモートについて心配する必要はありません。画像が無効であるため、ローカルで参照できません。

調査の結果、リモート画像アップロードの操作ページは getRemoteImage.php であることがわかりました。開いた後、まず savePath を設定します。混乱を避け、管理を容易にするために、異なるユーザーが異なるディレクトリに保存する必要があるためです

修正コード:

コードをコピー コードは次のとおりです:

//Remote Capture イメージ構成の取得
if(isset($_SESSION['admin'])){
$myPath = 'http://www.jb51.net/../dofiles/ueditorUpload/admin/'.$_SESSION['admin ' ]['id'].'/';
}else if(isset($_SESSION['user'])){
$myPath = 'http://www.jb51.net/../dofiles/ueditorUpload / user/'.$_SESSION['user']['id'].'/'
}else{
$myPath = 'http://www.jb51.net/../dofiles/ueditorUpload/unkonw/ ' ;
}
$config = array(
"savePath" => $myPath , //保存パス
"allowFiles" => array( ".gif" , ".png" , ".jpg" , ". jpeg " , ".bmp" ) , //ファイルが許可される形式
"maxSize" => 3000 //ファイル サイズ制限、単位 KB
);


次に問題が発生します。UEditor では、ファイルと画像のアップロードが行われません。これは、Uploader.class.php php クラスを通じて操作されますが、リモート画像のアップロードは許可されません。

85 行目で、パスを作成するときに単に mkdir を使用して作成したことがわかりました。mkdir は階層パスを作成できないため、パスが存在しない場合、リモート イメージのアップロードは失敗します。

それが分かれば、問題に対処するのが簡単になります。まず、ファイルディレクトリを作成するためにループする関数を書きます(以前に書いたので、ここで直接使用します)。コードをコピーします

コードは次のとおりです:
//階層フォルダーを継続的に作成します function recursive_mkdir($folder){ $folder = preg_split( "/[\\/]/" , $folder ); mkfolder = '';
for($i= 0; isset($folder[$i]); $i++){
if(!strlen(trim($folder[$i]))){
}
$mkfolder .= $folder[$i] ;
if(!is_dir($mkfolder)){
mkdir("$mkfolder",0777)
}
$mkfolder .= DIRECTORY_SEPARATOR
};
次に、85 行目を変更します:



コードをコピー

コードは次のとおりです:

//保存場所を作成します
$savePath = $config[ 'savePath' ]
if ( !file_exists( $savePath ) ) {
recursive_mkdir($savePath); //mkdir( "$ savePath" , 0777 ); }
このようにすれば問題ありません。

この問題は百度関係者にも提出され、修正されることを期待されています。

テストした UEditor のバージョンは 1.2.3.0 です。以前のバージョンに関連する問題がある場合は、修正アイデアに従って修正することで解決できるはずです。



http://www.bkjia.com/PHPjc/325896.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/325896.html

技術記事

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。