リモート画像アップロードは非常に興味深いもので、たとえば、別の 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
true
http://www.bkjia.com/PHPjc/325896.html
技術記事
リモート画像アップロードは非常に興味深いものです。たとえば、別の Web サイトからファイルをコピーした場合、テキスト内に画像があれば、編集者が自動的に画像を抽出してアップロードします。。