Ckeditor缺少图像源⽂件地址的解决由错误测试位置引起Ckeditor
本⽂是关于CKEditor ⽆法上传图⽚问题的⼀个解决。⼤致写了⼀下遇到问题的过程,问题的出处,怎么解决的,原因是什么。
希望能够帮到有需要的⼤家,有些时候不到问题的答案,真的是会让⼈神魂颠倒。
Ckeditor是新⼀代的FCKeditor,是⼀个重新开发的版本。Ckeditor是全球最优秀的⽹页在线⽂字编辑器之⼀,因其惊⼈的性能与可扩展性⽽⼴泛的被运⽤于各⼤⽹站。
今天在给⾃⼰的博客项⽬上添加ckeditor时,进⾏了⼀些测试。出现了缺少图像源⽂件地址的问题!
在ckeditor的配置⽂件中,添加上关联ckfinder的代码,当然我们也要有ckfinder,就可以使⽤上传的功能了。
在ckedittor的配置⽂件 config.js 中加⼊连接的配置代码。放到最后就好了。
// 载⼊CKfinder
config.filebrowserBrowseUrl = '/App/Back/Public/ckfinder/ckfinder.html';
config.filebrowserImageBrowseUrl = '/App/Back/Public/ckfinder/ckfinder.html?Type=Images';
config.filebrowserFlashBrowseUrl = '/App/Back/Public/ckfinder/ckfinder.html?Type=Flash';
config.filebrowserUploadUrl = '/App/Back/Public/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files';
config.filebrowserImageUploadUrl = '/App/Back/Public/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
config.filebrowserFlashUploadUrl = '/App/Back/Public/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash';
成功后:
但是到了上传⽂件的时候,这个编辑器总是会卡死,在上传处出现⼀些隐蔽的代码。
getDocumentRootPath() . $baseUrl;}
$utilsSecurity =& CKFinder_Connector_Core_Factory::getInstance("Utils_Security");
$utilsSecurity->getRidOfMagicQuotes();
/** * $config must be initialised */ $config = array();
$config['Hooks'] = array();
$config['Plugins'] = array();
/** * Fix cookies bug in Flash. */
if (!empty($_GET['command']) && $_GET['command'] == 'FileUpload' && !empty($_POST))
{ foreach ($_POST as $key => $val)
{ if (strpos($key, "ckfcookie_") === 0) $_COOKIE[str_replace("ckfcookie_", "", $key)] = $val;
}
}
/** * read config file */ require_once CKFINDER_CONNECTOR_CONFIG_FILE_PATH;
CKFinder_Connector_Core_Factory::initFactory();
$connector =& CKFinder_Connector_Core_Factory::getInstance("Core_Connector");
if(isset($_GET['command'])) { $connector->executeCommand($_GET['command']);
} else { $connector->handleInvalidCommand();
}
file:// 缺少图像源⽂件地址
⽹上也有⼀些相关的问题,⼤致分类:
1. 不到图⽚路径,并且有错误的代码,⼤致就是上⾯那个。没有⼈回答,这问题也就不了了之了。
2. 原来我在tomcat上不能运⾏,是因为ckfinder是php的版本。(Σ(っ °Д °;)っ和我有什么关系)
3. ⼤佬直接⾃⼰写了⼀堆js实现了上传功能。(Σ(っ °Д °;)っ这是什么操作)
4. 修改配置⽂件,看了返回的值,什么 PHP V9 (Σ(っ °Д °;)っ不可以⽤)
resolve
这⾥出现了⼀个问题,就是在测试代码的⽹站⽂件⽬录/test*下,设置好两个ck⽂件,⼀个测试的test.html,但是上传的时候出现不到图⽚源地址的情况。
然后想,还要作后⾯的⼀堆东西呢,直接把这两ck⽂件,放到了正常的⽬录下。然后就可以正常上传了。
可以使⽤的时候是访问⽹站调⽤的,测试时是在⽂件直接打开test.html中调⽤的。
这两个之间的差别,就是运⾏时的⽬录不同。
错误的测试:
直接打开,⽂件管理系统中的⽂件
file:///C:/phpStudy/WWW/blog/test/39test2.html
但是这个东西提交的时候,是提交到服务器端,谁是服务器端?这个东西怎么知道?⼀个单⼀的⽂件怎么可以调⽤php这个服务器端的脚本呢?
所以⽆法调⽤服务器端的php代码,就会出现上⾯的那个php报错的信息,同时它也不清楚传到那⾥去,就会出现不到图⽚源地址的错误。
正确的测试:
www.blog/test/39test2.html
用phpstudy搭建网站经验之谈
虽然有些东西完全可以在单个⽂档中测试,但是如果事关服务器,那就要在浏览器⾥键⼊⽹站的测试代码⽬录和⽂件,进⾏访问测试,⽽不能在本机上,离服务器⼀个西天的距离去测试。
以后要测试代码,最好直接通过web来访问测试⽂件夹,和测试的代码,⽽不能直接打开测试代码,那样就会和服务器脱节。
测试⽂件说:哎,我⼀个⼩⼩的⽂件,怎么知道你的服务器在哪⾥?
有时候就是这么⼀个⼩⼩的问题,确实很困扰⼈!
解决办法:访问服务器端测试即可,可千万别⽂件测试了!
其实这个东西并没有那么难想到,但因为是⾃学,很多东西如果有个⽼师在旁边,⼀两句话就解决的事情,哪⾥需要吭哧吭哧想上4-5个⼩时……

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。