ホームページ  >  記事  >  バックエンド開発  >  codeigniter が xheditor を統合した後、xheditor で画像の問題が発生する

codeigniter が xheditor を統合した後、xheditor で画像の問題が発生する

WBOY
WBOYオリジナル
2016-06-23 13:54:03865ブラウズ

xheditor は画像アップロード機能を備えた掲示板プラグインです。Imgurl を CI コントローラーに指定する必要がありますが、コントローラー内で関連するコードを記述するにはどうすればよいですか?写真をアップロードすると、常に写真が選択されていないというメッセージが表示されます。どこにエラーがあるのか​​わかりません。アドバイスをお願いします。


エディタのエディタアップロードURLは ciのアップロードアクションに合わせればOKだと思います

エディタのアップロードURLをciのアップロードアクションに合わせればOKだと思います

はい、変更しましたが、プロンプトでファイルが選択されませんでした

以下はコードです
​​ Content:

ですエディタ設定ファイルで設定されていますか/

エディタ設定ファイルで設定されていますか/

xheditor の公式マニュアルを読みました。 xheditor の公式デモ 8 には、デフォルトでアップロードされています。 .phpを直接使用すると正常にアップロードできますが、CIフレームワークのパスの問題により、画像が正常に表示されません。

コントロールにコードを記述するだけではありません。表示コードだけでなく、画像を参照するためのパスも返します。

xheditor にリターンパスを書き込む方法は知っていますか?

これは前台部分です



 





' メソッド='投稿'>
内容:






以下は制御器記事のメソッド do_upload(){
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '100000';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload(‘filedata’))
{
$this->upload->display_errors();
}
その後你在前台用xheditor编辑框上传图片的時候会提案你未选择文件! 、しかし、ci フレームパスの問題により、xh パスでは通常の表示ができないため、この do_upload メソッドの場所の料金コードをどのように変更する必要がありますか?????????????????????? ???????????????????
これは xh默认demo里面upload.phpの代コード
/*!
* php のデモをアップロードします
* @requires xhEditor
*
* @author Yanis.Wang
* @site http://xheditor.com/
* @licence LGPL(http://www.opensource.org/licenses/lgpl-license.php)
*
* @バージョン: 0.9.6 (ビルド 111027)
*
* 注1:本程序は演示用、请您务は自己要求に基づいて相应修正を行う、または重开発行
* 注2:本程序は特別なHTML5上传、追加特殊処理
*/
header(' Content-Type: text/html;

$inputName='filedata';//表单文件ドメイン名
$attachDir='upload';//上传文件保存路径,结尾不要带/
$dirType=1;//1:按天存入目录 2 :按月存入目录 3:按扩展名存目录 建议使用按天存
$maxAttachSize=2097152;//最大上传大小,默认是2M
$upExt='txt,rar,zip,jpg,jpeg,gif, png,swf,wmv,avi,wma,mp3,mid';//上传扩展名
$msgType=2;// 返上传パラメータ格式:1,只返url,2,返パラメータ数组
$immediate=isset ($_GET['immediate'])?$_GET['immediate']:0;//立即上传模式,仅用演示用
ini_set('date.timezone','Asia/Shanghai');// 時間区

$err = "";
$msg = 「」」;
$tempPath=$attachDir.'/'.date("YmdHis").mt_rand(10000,99999).'.tmp';
$localName='';

if(isset($_SERVER['HTTP_CONTENT_DISPOSITION'])&&preg_match('/attachment;\s+name="(.+?)";\s+filename="(.+?)"/i',$ _SERVER['HTTP_CONTENT_DISPOSITION'],$info)){//HTML5 上传
file_put_contents($tempPath,file_get_contents("php://input"));
$localName=urldecode($info[2]);
}
else{///标標準表单式上传
$upfile=@$_FILES[$inputName];
if(!isset($upfile))$err='文件領域の名前错误';
elseif(!empty($upfile['error'])){
switch($upfile['error'])
{
ケース '1':
ケース「2」:休憩
ケース '3': break;
case '4':
$err = 'ファイルがアップロードされていません'
;を使用する を使用して使用する を使用する - - - - - - - - - - '' r = '$ err ='他の拡張機能 '; :
デフォルト:
$ err = '有効なエラー コードがありません';}
elseif(empty($upfile['tmp_name']) move_uploaded_file($upfile[' tmp_name'],$tempPath);
$localName=$upfile['name']; $extension= $fileInfo['extension'] ;
if(preg_match('/^('.str_replace(',','|',$upExt).')$/i',$extension))
ファイルサイズ ($ Temppath)
if ($ バイト & $ maxattachsize) ️ .$拡張子if(!is_dir($attachDir))
@fclose(fopen( $attachDir.'/index. htm', 'w'));

.mt_rand(1000,9999 ).'.'.$拡張子
and = jsonstring($ targetPath);パラメータは固定されており、実際のプロジェクトではデータベース ID になります。 '.$upExt;
@unlink($tempPath) }

echo "{'err':'" .jsonString($err)."','msg':".$msg."}
$bytes) { elseif($bytes >= 1048576) {
= ラウンド($バイト / 1048576 * 100) / 100 . 'MB' } elseif($bytes 1024 'KB' } else {
ML5 のアップロード メソッドはサポートされていませんが、ci のアップロード クラスはサポートされていません
プログラムのデバッグには、以前のバージョンの IE を使用できます。アップロードが成功した場合は、CI のアップロード クラスに HTML5 アップロード関数を追加する必要があります
メソッドは uplaod.php にあります
成功しない場合は、私が言わなくても


問題は次のとおりかもしれませんCI のアップロード クラスではサポートされていない HTML5 アップロード メソッドを使用していることを確認してください。プログラムのデバッグには、IE の以前のバージョンを使用できます。アップロードが成功した場合は、アップロード クラスでアップロードする必要があります。 ci HTML5アップロード機能を追加します
方法はuplaod.phpにあります
成功しない場合は言わなくても

xuzuning ご回答ありがとうございます 電源を切った後です。 xheditorのhtml5アップロードで、画像は正常にアップロードできるのですが、画像が正常にアップロードされた後の戻りパスがフォークになってしまいます。私が投稿した xheditor のデモ コードに従って簡単なヒントを教えてください。具体的な方法は、echo json データに依存します。仕様に従って書けば完璧に解決できます

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