Ckeditor

本文是关于CKEditor 无法上传图片问题的一个解决。我大致写了一下遇到问题的过程,问题的出处,怎么解决的,原因是什么。

希望能够帮到有需要的大家,有些时候找不到问题的答案,真的是会让人神魂颠倒。

Ckeditor是新一代的FCKeditor,是一个重新开发的版本。Ckeditor是全球最优秀的网页在线文字编辑器之一,因其惊人的性能与可扩展性而广泛的被运用于各大网站。

今天在给自己的博客项目上添加ckeditor时,进行了一些测试。 出现了缺少图像源文件地址的问题!

在ckeditor的配置文件中,添加上关联ckfinder的代码,就可以使用上传的功能了。

但是到了上传文件的时候,这个编辑器总是会卡死,在上传处出现一些隐蔽的代码。

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:// 缺少图像源文件地址

从上午10点开始搞这个ckeidtor,ckfinder,什么uiColor了,width了,都弄的差不多了,关联上了ckfinder,打开测试的网页,上传按钮的出现就像是夏日里一枚冰凉的玲珑樱桃,看着它我满怀的欣慰与自豪。

选择图片文件,上传至服务器,但是.....

不!不!不!

他卡在那里,并且爆出一个无法找到图片源文件的提示...

我的大脑一片空白,爆出了一个蒙圈的感觉...

只能网上去搜别人的解决方法了,这时候已经11点了,我想吃饭!

网上也有一些相关的问题,大致分类:

01.找不到图片路径,并且有错误的代码,大致就是上面那个。没有人回答,这问题也就不了了之了。

02.原来我在tomcat上不能运行,是因为ckfinder是php的版本。 (Σ(っ °Д °;)っ 和我有什么关系)

03.大佬直接自己写了一堆js实现了上传功能。 (Σ(っ °Д °;)っ 这是什么操作)

04.修改配置文件,看了返回的值,什么 PHP V9 (Σ(っ °Д °;)っ 不可以用)

尝试一圈基本无果,这时候已经12点了,我想吃饭!

可是生活的骨感硌的人生疼,这东西不弄完,怎么做接下来的事情?哎...

死马当做活马医,直接把测试代码里的ckeditor,ckfinder复制到项目真实环境里,一顿操作。

嘀嘀嘀。弄完了。

我贼心不改,究竟你是什么妖怪!

带着这么多天的辛勤劳动,我的鼠标飞快的点击访问服务器,登录,添加文章,一气呵成!

点击上传文件,上传到服务器。

成功了!!!!!

为什么会这样,苍天呐!

心里一个声音说,接着做吧,能用就行了,一个插件,不需要那么懂,能跑就行了。

这时候已经13点了,饭都没了。

究竟是为什么呢?一遍遍的修改测试代码

$baseUrl,看ckfinder 的配置文件,上传文件的 PHP代码。浏览器里一遍一遍的看那几个按钮关联的东西....

php的版本有些低(5.4.45)不能运行人家的代码,要不要换一个高版本。因为确实有时候一些函数在低版本的php中不能使用。

毫无结果.....

两点了还是没搞出来。如果今天栽在这里,我的AI学习之路怎么办,web安全之路怎么办,我的音乐之路怎么办,我的下半辈子怎么存在。博客园可不可以连载小说?

已经饿的胡思乱想了

但是突然的灵机一动!

resolve

这里出现了一个问题,就是在测试代码的目录下 网站根目录/test 下,设置好两个ck文件,一个测试的test.html,但是上传的时候出现找不到图片源地址的情况。

然后我想,还要作后面的一堆东西呢,直接把这两ck文件,放到了正常的目录下。然后就可以正常上传了。

可以使用的时候是在网站里调用的,测试时是在文件直接打开test.html中调用的。

这两个之间的差别,就是运行时的目录不同。

我们浏览时,打开直接打开,文件管理系统中的文件

file:///C:/phpStudy/WWW/blog/test/39test2.html

但是这个东西提交的时候,是提交到服务器端,谁是服务器端?这个东西怎么知道?一个单一的文件怎么可以调用php这个服务器端的脚本呢?

所以无法调用服务器端的php代码,就会出现上面的那个php报错的信息,同时它也不清楚传到那里去,就会出现找不到图片源地址的错误。

经验之谈

虽然有些东西完全可以在单个文档中测试,但是如果事关服务器,那就要在浏览器里键入网站的测试代码目录和文件,进行访问测试,而不能在本机上,离服务器一个西天的距离去测试。

以后要测试代码,最好直接通过web来访问测试文件夹,和测试的代码,而不能直接打开测试代码,那样就会和服务器脱节。

测试文件说: 哎,我一个小小的文件,怎么知道你的服务器在哪里?

有时候就是这么一个小小的问题,确实很困扰人!

解决办法: 服务器端测试即可,可千万别文件测试了!

希望大家给点个赞呐。

精品原创呐。

Ckeditor 缺少图像源文件地址的解决 笨笨的人都看啦!的更多相关文章

  1. 移动IP 它最初设想每个人都在编写应用层(7)API而不是传输层(4)API 对于QUIC,连接的标识符不是“套接字”(源/目标端口/地址协议组合)的传统概念,而是分配给连接的64位标识符

    小结: 1. 因为您对OSI模型的教育中缺少的一点是,它最初设想每个人都在编写应用层(7)API而不是传输层(4)API.应该有像应用程序服务元素之类的 东西,它们可以以标准方式处理文件传输和消息传递 ...

  2. xshell6和xftp6运行提示缺少mfc110u.dll文件的解决办法

    xshell6和xftp6运行提示缺少mfc110u.dll文件的解决办法 下载地址 http://www.microsoft.com/zh-CN/download/details.aspx?id=3 ...

  3. Jquery中使用setInterval和setTimeout会提示缺少对象的错误,解决方法如下:

    直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...

  4. Java Class 利用classpath来获取源文件地址

    利用classpath来获取源文件地址 @author ixenos 应用场景 Properties props = new Properties(); /** * . 代表java命令运行的目录 * ...

  5. 网络连接详细信息出现两个自动配置ipv4地址的解决办法

    问题描述:网络连接详细信息出现两个自动配置ipv4地址,一个是有效地址,一个是无效地址. 解决办法: 先将本地连接ip设置成自动获取 点击开始——>运行——>输入cmd,回车,进入命令行界 ...

  6. 使用call、apply和bind解决js中烦人的this,事件绑定时的this和传参问题

    1.什么是this 在JavaScript中this可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式,this 绑定的对象即函数执行的上下文环境(context). 为了帮助理解,让我 ...

  7. halcon变量窗口的图像变量不显示,重启软件和电脑都没用

    有幸遇到halcon变量窗口的图像变量不显示,重启软件和电脑都没用这个沙雕问题,也是找了蛮久才发现解决办法特意记录一下. 这是正常情况下的窗口(左边)和图像变量不显示的窗口(右边): 解决方法: 鼠标 ...

  8. 2014.7.8模拟赛【笨笨当粉刷匠】|bzoj1296 [SCOI]粉刷匠

    笨笨太好玩了,农田荒芜了,彩奖用光了,笨笨只好到处找工作,笨笨找到了一份粉刷匠的工作.笨笨有n条木板需要被粉刷.每条木板被分成m个格子,每个格子要被刷成红色或蓝色.笨笨每次粉刷,只能选择一条木板上一段 ...

  9. jquery开发的”天才笨笨碰“游戏

    前段时间湖南卫视的快乐大本营里有一款“天才笨笨碰”游戏非常火.这款游戏主要是考选手的声母联想词语的能力. 小篇在看完这个节目后用jquery制作了“天才笨笨碰”网页游戏.先上效果图: 游戏规则: 1. ...

随机推荐

  1. node-全局对象

    Node.js 全局对象 JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量. 全局对象与全局变量 global ...

  2. visual studio 将他人的 vtk 程序在本机生成

    在网上下载了一些关于vtk的资源,在本机使用visual studio 打开后,生成时出现类似与以下的错误 无法打开包括文件:"vtkStructuredPointsToPolyDataFi ...

  3. JVM虚拟机-运行时数据区概述

    目录 运行时数据区域 总览 概念扫盲 什么是栈帧(Stack Frame) JVM常见出现两种错误 程序计数器 虚拟机栈 结构 局部变量表 方法是如何调用的 本地方法栈 堆 浅堆和深堆 堆的细分 方法 ...

  4. 【Spring浅析】一、 BeanFactory 有啥可说的?

    阅读 Spring 源码,BeanFactory 是避不了的存在.而大家常见的使用场景,也是以下形式: ConfigurableApplicationContext ctx = SpringAppli ...

  5. Springboot项目之阿里云OSS快速入门

    阿里云oss 阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量.安全.低成本.高可靠的云存储服务.您可以通过本文档提供的简单的REST接口,在任何 ...

  6. [DB] Spark Core (3)

    高级算子 mapPartitionWithIndex:对RDD中每个分区(有下标)进行操作,通过自己定义的一个函数来处理 def mapPartitionsWithIndex[U](f: (Int, ...

  7. [Qt] 事件机制(四)

    滚轮事件:滚动滚轮实现窗口大小缩放 widget.h中增加: protected: void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE; void ...

  8. Qt - QLineEdit编辑框

    QLineEdit输入内容获取及合理性检查? 控件自带触发信息: void textChanged(const QString &);void textEdited(const QString ...

  9. ltp

    1.查找文件 find / -name 'filename'   1 2.查找目录 find / -name 'path' -type d 1 3.查找内容 # find .| xargs grep ...

  10. SecureCRT自动保存日志设置

    SecureCRT自动保存日志设置原创杭州_燕十三 最后发布于2017-03-26 22:00:08 阅读数 24731 收藏展开 嵌入式开发经常由于无法debug而只能使用串口打印日志的方式调试代码 ...