❶ php後台用ckeditor上傳的文章中有圖片,如何在刪除時文章時刪除文章中的圖片。我要代碼。
這很簡單的啊,在上傳圖片保存的時候就把圖片的名字記錄在資料庫里,刪除時一並刪除。或給有圖片的文章單建一個目錄。總之怎麼方便怎麼來
❷ php下怎麼使用多個ckeditor 在線編輯器
CKeditor是一款在線編輯器,可用於博客、新聞發布等的文本編輯框,利用它可以很方便地實現對文章的排版。它是一款開源工具,可以在我們的網站中使用它增強編輯功能,顯得專業和裝B。原來它叫FCKeditor,後來改名叫CKeiditor,感謝開源軟體的開發者,他們是最帥的!
一、下載
官網下載:http://ckeditor.com/download/
解壓之後直接放在網站根目錄里就可以使用了。
在_samples目錄下,可以找到很多做好的樣例,這些可以用來學習編輯器的用法。
二、用js的方式調用
官方演示樣例:
復制代碼
<html>
<head>
<title>Sample CKEditor Site</title>
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
</head>
<body>
<form method="post">
<p>
My Editor:<br />
<textarea id="editor1" name="editor1"><p>Initial value.</p></textarea>
<script type="text/javascript">
CKEDITOR.replace( 'editor1' );
</script>
</p>
<p>
<input type="submit" />
</p>
</form>
</body>
</html>
復制代碼
我是把ckeditor目錄和test.html放在同個目錄下,注意第四行原來是src="/ckeditor/ckeditor.js",要把前面的斜杠去掉,改為src="ckeditor/ckeditor.js"才能正確指向文件ckeditor.js。這時候不啟用wamp伺服器也能正確顯示ckeditor。
三、用PHP的方法引入
復制代碼
<p>Title:</p><input name="subject" type="text" >
<?php
include 'ckeditor/ckeditor.php'; //include ckeditor.php
$ckeditor = new CKEditor;
$ckeditor->editor('content');
?>
<input name="submit" type="submit" value="提交" />
復制代碼
這樣也能引入ckeditor,這時候editor的位置就在中間那段php代碼的地方,兩種方法都可以,不過我還不明白兩種方法有什麼區別。
還可以在textarea標簽中嵌入ckeditor:
復制代碼
<?php
if(!empty($_POST["sub"]))
{
echo $_POST["title"];
echo "<br>";
echo $_POST["content"];
}
?>
<html>
<head>
<title>Sample CKEditor Site</title>
</head>
<body>
<form method="post">
<p>
My Editor:<br />
<input type="text" name="title">
<textarea name="content">
<?php
include 'ckeditor/ckeditor.php'; //include ckeditor.php
$ckeditor = new CKEditor;
$ckeditor->editor('content');
?>
</textarea>
</p>
<p>
<input type="submit" name="sub"/>
</p>
</form>
</body>
</html>
❸ php ckeditor 賦值問題
miaoshu不需要加''這個嘛 如果你是從資料庫中讀出來的數據的話 不是應該有這個的嗎
還有 <script>var aaa=CKEDITOR.replace('CkEditer',{skin:'moono',herght:500}); aaa.setData("<?php echo $array[miaoshu];?>");;</script>你代碼裡面多了一個;不知道會不會是這個的影響
❹ 如何將CKeditor編輯器的上傳和thinkphp結合
當我們在模板中,將ckeditor配置好後,需要在JS代碼中進行一些調整或修改,如下:
CKEDITOR.replace( 'v_content', {
filebrowserImageUploadUrl : '/Files/ck_upload.shtml'
});
復制代碼
這里是在JS部分進行了修改,指定了當使用編輯器的圖片功能時,上傳的請求地址在那裡。一般來說ckeditor是不帶上傳的,你把上面的配置調整好後,點擊圖片,就會出現上傳功能,但是只是個架子,沒有實際效果。具體的處理請看下面:
function ck_upload($ftype = 'image')
{
if($ftype == 'image'){
$ftype = array('jpg', 'gif', 'png', 'jpeg', 'bmp');
}
header("Content-type:text/html");
import('ORG.Net.UploadFile');
$upload = new UploadFile(); // 實例化上傳類
$upload->maxSize = -1; // 設置附件上傳大小
$upload->allowExts = $ftype; // 設置附件上傳類型
$upload->savePath = './Public/Uploads/'; // 設置附件上傳目錄
$upload->autoSub = true;
$upload->subType = 'date';
if (!$upload->upload()) {// 上傳錯誤提示錯誤信息
echo "<script type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction(".$this->_get('CKEditorFuncNum').", '/', '上傳失敗," . $upload->getErrorMsg() . "!');</script>";
} else {
//// 上傳成功 獲取上傳文件信息並存入資料庫
$info = $upload->getUploadFileInfo();
//獲取具體的路徑,用於返回給編輯器
$savepath = $info[0]['savepath'].$info[0]['savename'];
//下面的輸出,會自動的將上傳成功的文件路徑,返回給編輯器。
echo "<script type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction(".$this->_get('CKEditorFuncNum').",'$savepath','');</script>";
}
}
復制代碼
會發現TP的代碼里,有兩端是輸出JS的,一個是報錯,一個是返回圖片,這個自己看一下,就能懂的。很簡單的。
上傳完成後,如下圖,我使用的是防盜鏈模式,所以圖片路徑是.shtml,如果你按照上面的方式,那麼你的返迴路徑可能是upload/img/abc.jpg之類的。
代碼肯定沒問題的,我N個項目里在用,這樣做的目的是,我能控制文件了,能控制它的上傳時間,對文件進行許可權管理等等,這些都是很方便的。另外,在附送一個防盜鏈的方法,前提是,將圖片路徑存在資料庫里。
我這里,文件的表示使用的是id標示:
function getfile($id) {
$res = M('files')->find($id);
$file = $res['savepath'];
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Pragma: public');
$sTmpVar = fread(fopen($file, 'r'), filesize($file));
echo $sTmpVar;
}
}
復制代碼
將就看下把,$res['savepath']就是資料庫里的文件路徑,這個方法照抄就行了。這樣你就能把upload/img/xxx.jpg轉化成諸如file/1022.shtml之類的URL了
❺ 請問CKEditor 在PHP中如何調用啊
在PHP中調用
<?php
function FCKeditor_IsCompatibleBrowser()
{
if ( isset( $_SERVER ) ) {
$sAgent = $_SERVER['HTTP_USER_AGENT'] ;
}
else {
global $HTTP_SERVER_VARS ;
if ( isset( $HTTP_SERVER_VARS ) ) {
$sAgent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'] ;
}
else {
global $HTTP_USER_AGENT ;
$sAgent = $HTTP_USER_AGENT ;
}
}
if ( strpos($sAgent, 'MSIE') !== false && strpos($sAgent, 'mac') === false && strpos($sAgent, 'Opera') === false )
{
$iVersion = (float)substr($sAgent, strpos($sAgent, 'MSIE') + 5, 3) ;
return ($iVersion >= 5.5) ;
}
else if ( strpos($sAgent, 'Gecko/') !== false )
{
$iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;
return ($iVersion >= 20030210) ;
}
else if ( strpos($sAgent, 'Opera/') !== false )
{
$fVersion = (float)substr($sAgent, strpos($sAgent, 'Opera/') + 6, 4) ;
return ($fVersion >= 9.5) ;
}
else if ( preg_match( "|AppleWebKit/(\d+)|i", $sAgent, $matches ) )
{
$iVersion = $matches[1] ;
return ( $matches[1] >= 522 ) ;
}
else
return false ;
}
class FCKeditor
{
public $InstanceName ;
public $BasePath ;
public $Width ;
public $Height ;
public $ToolbarSet ;
public $Value ;
public $Config ;
public function __construct( $instanceName )
{
$this->InstanceName = $instanceName ;
$this->BasePath = '../common/editor/' ;
$this->Width = '100%' ;
$this->Height = '400' ;
$this->ToolbarSet = 'Default' ;
$this->Value = '' ;
$this->Config = array() ;
}
public function Create()
{
echo $this->CreateHtml() ;
}
public function CreateHtml()
{
$HtmlValue = htmlspecialchars( $this->Value ) ;
$Html = '' ;
if ( $this->IsCompatible() )
{
if ( isset( $_GET['fcksource'] ) && $_GET['fcksource'] == "true" )
$File = 'fckeditor.original.html' ;
else
$File = 'fckeditor.html' ;
$Link = "{$this->BasePath}editor/{$File}?InstanceName={$this->InstanceName}" ;
if ( $this->ToolbarSet != '' )
$Link .= "&Toolbar={$this->ToolbarSet}" ;
$Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}\" name=\"{$this->InstanceName}\" value=\"{$HtmlValue}\" style=\"display:none\" />" ;
$Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}___Config\" value=\"" . $this->GetConfigFieldString() . "\" style=\"display:none\" />" ;
$Html .= "<iframe id=\"{$this->InstanceName}___Frame\" src=\"{$Link}\" width=\"{$this->Width}\" height=\"{$this->Height}\" frameborder=\"0\" scrolling=\"no\"></iframe>" ;
}
else
{
if ( strpos( $this->Width, '%' ) === false )
$WidthCSS = $this->Width . 'px' ;
else
$WidthCSS = $this->Width ;
if ( strpos( $this->Height, '%' ) === false )
$HeightCSS = $this->Height . 'px' ;
else
$HeightCSS = $this->Height ;
$Html .= "<textarea name=\"{$this->InstanceName}\" rows=\"4\" cols=\"40\" style=\"width: {$WidthCSS}; height: {$HeightCSS}\">{$HtmlValue}</textarea>" ;
}
return $Html ;
}
public function IsCompatible()
{
return FCKeditor_IsCompatibleBrowser() ;
}
public function GetConfigFieldString()
{
$sParams = '' ;
$bFirst = true ;
foreach ( $this->Config as $sKey => $sValue )
{
if ( $bFirst == false )
$sParams .= '&' ;
else
$bFirst = false ;
if ( $sValue === true )
$sParams .= $this->EncodeConfig( $sKey ) . '=true' ;
else if ( $sValue === false )
$sParams .= $this->EncodeConfig( $sKey ) . '=false' ;
else
$sParams .= $this->EncodeConfig( $sKey ) . '=' . $this->EncodeConfig( $sValue ) ;
}
return $sParams ;
}
public function EncodeConfig( $valueToEncode )
{
$chars = array(
'&' => '%26',
'=' => '%3D',
'"' => '%22' ) ;
return strtr( $valueToEncode, $chars ) ;
}
}
$editor = new FCKeditor('editor') ;//接收時$_POST['........']中的內容
$editor->BasePath = "../common/editor/";//FCKEDITOR的路徑
?>
在需要調用的地方<?php $editor->Create();?>
接受的文件用$_POST['editor']調用(editor)可在$editor = new FCKeditor('editor')設置
❻ 如何配置 CKEditor 使用 KCFinder
要使KCFinder 成為CKEditor 的默認文件瀏覽器,很簡單,你只需要編輯 CKEditor 主目錄下的 config.js 文件如下:CKEDITOR.editorConfig = function(config) { config.filebrowserBrowseUrl = '/kcfinder/browse.php?type=files'; config.filebrowserImageBrowseUrl = '/kcfinder/browse.php?type=images'; config.filebrowserFlashBrowseUrl = '/kcfinder/browse.php?type=flash'; config.filebrowserUploadUrl = '/kcfinder/upload.php?type=files'; config.filebrowserImageUploadUrl = '/kcfinder/upload.php?type=images'; config.filebrowserFlashUploadUrl = '/kcfinder/upload.php?type=flash'; };其中/kcfinder/ 為你的 KCFinder 所在的路徑,這里相對與站點根目錄設置,你也可以使用 CKEditor API 來更改這些設置,詳情請參見 CKEditor文檔。如果KCFinder 的路徑需要相對與 CKEditor 設置,則配置文件寫法如下(本例中 CKEditor 與 KCFinder 在相同目錄下):CKEDITOR.editorConfig = function(config) { config.filebrowserBrowseUrl = CKEDITOR.basePath+'../kcfinder/browse.php?type=files'; config.filebrowserImageBrowseUrl = CKEDITOR.basePath+'../kcfinder/browse.php?type=images'; config.filebrowserFlashBrowseUrl = CKEDITOR.basePath+'../kcfinder/browse.php?type=flash'; config.filebrowserUploadUrl = CKEDITOR.basePath+'../kcfinder/upload.php?type=files'; config.filebrowserImageUploadUrl = CKEDITOR.basePath+'../kcfinder/upload.php?type=images'; config.filebrowserFlashUploadUrl = CKEDITOR.basePath+'../kcfinder/upload.php?type=flash'; };當然,要使用 KCFinder ,還需要修改 KCFinder 的配置文件 config.php ,主要更改如下兩個設置項: ... // 設置啟用 KCFinder 'disabled' => empty($_SESSION['upload_enabled']), ... // 更改你的上傳路徑 'uploadURL' => "../../upload", 這里的上傳路徑與早期 FCKEditor 中自帶的上傳管理器不一樣,是可以使用相對路徑的,更多設置項請參見 KCFinder安裝向導 與KCFinder集成指南之Session配置。
❼ ckeditor+php多圖片上傳問題。
返回格式因該是:<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction($_GET["CKEditorFuncNum"],路徑,'消息')</script>
❽ PHP中CKEditor的使用
<input name="subject" type="text" >
<?php
include './ckeditor/ckeditor.php'; //include ckeditor.php
$ckeditor = new CKEditor;
//include './ckfinder/ckfinder.php';
$ckeditor->editor('content');
//CKFinder::SetupCKEditor($ckeditor, true, true);
?>
<input name="submit" type="submit" value="提交" />
❾ thinkphp 讀取內容ckeditor編輯器內顯示的問題
使用富文本編輯器的時候保存的內容就是html代碼,取出來之後要先獲取到你創建的ckeditor,然後調用方法setData(value)
❿ ckeditor5上傳的圖片如何用PHP接收
從圖上看應該是傳的文件用$_FIELES接收,
如果不行的話試試用file_get_contents('php://input');試試