phpeditor
‘壹’ 在phpcms v9 内容编辑器(ckeditor)中附件上传后如何以文件名作链接
我也遇到这个问题,网上找了半天没找到方式,于是自己动手改了一下,有不对之处,请高手指教,主要修改 /statics/js/swfupload/swf2ckeditor.js 文件,方法如下:
1、找到 submit_ckeditor 函数,在函数中加入 var in_name = d.$("#att-name").html();
function submit_ckeditor(uploadid,textareaid){
var d = window.top.art.dialog({id:uploadid}).data.iframe;
var in_content = d.$("#att-status").html();
var in_name = d.$("#att-name").html(); //这行是新加的
var del_content = d.$("#att-status-del").html();
insert2editor_mix(textareaid,in_content,in_name,del_content)
}
2、找到 insert2editor 函数,复制并改函数名称(因为直接改原函数怕有其他地方调用会出错),给函数加一个参数in_name,在函数中加入 var name = in_name.substring(1).split('|'); 并把for循环中的最后一个 data[n] 改为 name[n]
function insert2editor_mix(id,in_content,in_name,del_content) { //新加了参数 in_name
if(in_content == '') {return false;}
var data = in_content.substring(1).split('|');
var name = in_name.substring(1).split('|'); //这行是新加的
var img = '';
for (var n in data) {
img += IsImg(data[n]) ? '<img src="'+data[n]+'" /><br />' : (IsSwf(data[n]) ? '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="'+data[n]+'" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="'+data[n]+'" type="application/x-shockwave-flash" width="460"></embed></object>' :'<a href="'+data[n]+'" />'+name[n]+'</a><br />') ; //这行的 name[n] 为原来的 data[n] 修改而成
}
$.get("index.php?m=attachment&c=attachments&a=swfdelete",{data: del_content},function(data){});
CKEDITOR.instances[id].insertHtml(img);
}
‘贰’ 比较常用的几个PHP开发工具
1、浏览器扩展组件工具(Firefox扩展)--
FirePHP FirePHP是一款基于Firebug的扩展,phpLangEditor 一款PHP函数库解释工具。 PHP Lookup :是一个内置的搜索栏,以帮助您快速查找引用的PHP语法。 PHP ManualSearch :一个方便的搜索栏,从您的Web浏览器中搜索官方PHP文档。
2、PHP代码调试工具--
Webgrind Webgrind完美支持PHP 5,安装迅速简便,可以跨越多个平台运行。 Xdebug Xdebug是使用极为广泛的PHP代码调试工具,它提供大量的工具帮助你找出程序中潜在的BUG,并且它得到了很多PHP开发工具的支持,以做为专门的测试工具继承在这些开发工具中,比如PHPEclipse、phpDesigner等。
3、PHP框架支持--
Dwoo :PHP5 的模板引擎。CodeIgniter 用于敏捷软件开发的PHP框架。 YII Framework :一个高性能的基于组件的PHP框架。 NetBeans :强大的PHP扩展框架支持集,拥有完善的GUI界面,独自成为一款强大的PHP开发工具。 Solar symfony :一个开源的PHP Web框架,加速Web应用程序开发的创建与维护。
4、PHP代码测试、优化工具--
PHPUnit :一款基于PHP 5的JUnit组件测试工具。 SimpleTest SimpleTest是一款高度集成的PHP代码测试工具。 Selenium :一款专业全自动WEB站点PHP代码测试工具,比较侧重的UI输入输出数据测试。PHP_CodeSniffer dBug 一款专注于测试类、对象、数组以及XML文件的PHP工具。 PHP Profile Class
5、PHP扩展、工具集、类库支持--
SimplePie 此工具可用于PHP RSS解析。 HTML Purifier :此工具可以用来移除所有恶意代码(XSS),而且还能确保你的页面遵循W3C的标准规范。 TCPDF :一个可以用于快速生成PDF文件的PHP5函数包。 htmlSQL :一组可以使你方便的对HTML和XML内容方便的使用类似SQL语句进行检索的PHP类集。
6、PHP集成开发环境(IDE)、编辑器--
PHPEclipse 一个强大的Eclipse环境下开发PHP的插件,包括的主要功能有:PHP语法分析,调试,代码格式化,大纲视图,代码模板定制等。 PhpED 一套Windows环境下的PHP集成开发环境。phpDesigner 一款轻量级的PHP集成开发工具,代码编辑器功能特别强大,支持在线预览。 ZendStudio 一 款Eclipse下优秀的PHP开发环境,适用于开发包含丰富接口的RIAs应用程序。
7、PHP在线工具及资源--
Minify:该工具使用 PHP5 开发,用于合并压缩js/css 文件的应用程序,合并压缩之后的结果可通过 HTTP gzip/deflate 及一些相关头,优化客户端缓存。 HTTP_StaticMerger:CSS和java script文件自动"合并"。 PHP Object Generator 一款PHP代码生成器,它能够为你的PHP4/PHP5应用程序生成简洁和可测试的面向对象代码。
‘叁’ ckeditor5上传的图片如何用PHP接收
从图上看应该是传的文件用$_FIELES接收,
如果不行的话试试用file_get_contents('php://input');试试
‘肆’ php集成kindeditor时候,动态加载的上传图片按钮不能使用怎么办不能绑定点击事件
您好,这样的:
第一步:在模板html页面引入如下文件:
<link rel="stylesheet" href="/data/editor/plugins/code/prettify.css" />
<script charset="utf-8" src="/data/editor/kindeditor.js"></script>
<script charset="utf-8" src="/data/editor/lang/zh_CN.js"></script>
<script charset="utf-8" src="/data/editor/plugins/code/prettify.js"></script>
<script>
KindEditor.ready(function(K) {
var editor1 = K.create('textarea[name="content"]', {
cssPath : '/data/editor/plugins/code/prettify.css',
uploadJson : "/Home/Common/upload",//图片上传后的处理地址
});
prettyPrint();
});
</script>
路径根据自己的项目不同,正确引入即可,uploadJson :
"/Home/Common/upload",
uploadJson后面的就是编辑器上传图片的处理地址,可以根据自己的自行配置
这里交由Home分组的Common控制器的upload方法处理图片上传
第二步:自定义上传处理函数
function upload(){
header("Content-Type:text/html;charset=utf-8");
import('ORG.Net.UploadFile');
$upload = new UploadFile();
$upload->maxSize = 3145728;
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');
$upload->autoSub=true;
$upload->subType='date';
$upload->dateFormat='Ym';
$upload->savePath = './upload/article/';
if(!$upload->upload()){
$error['error']=1;
$error['message']=$upload->getErrorMsg();
exit(json_encode($error));
}
$info=$upload->getUploadFileInfo();
/*图片水印处理
import('ORG.Util.Image');
$image = new Image();
$image->water($upload->savePath.$info[0]['savename'],'./data/water.png');*/
$data=array(
'url'=>str_replace('./','/',$upload->savePath).$info[0]['savename'],
'error'=>0
);
exit(json_encode($data));
}
这里使用ThinkPHP的上传类处理图片上传,也可以自己写,唯一需要注意的就是返回的格式
查看了下官方的文档:
上传正确返回这种JSON串
{
"error" : 0,
"url" :
"http://www.example.com/path/to/file.ext"
}
上传失败返回这种JSON串
{
"error" : 1,
"message" :
"错误信息"
}
特别需要注意的一点就是返回的error一定要用整数1或是0,别用字符串'1'或'0'
原因是plugins/image/image.js的结果判断是
恒等于 ===
(当初自己就是因为PHP端返回的是字符串形式的'0'不等于整数的0导致上传之后总是弹窗报错)。
‘伍’ 大家给推荐一个php开发工具 哦 !
PHP开发工具汇总
这里个人推荐一些 PHP IDE 工具,非常见的 Editplus 之类的,都是专门为 PHP 开发的,个人感觉方便容易入手啊简单操作,找出自己用得顺手的就可以了,呵呵,自己最近再考虑试试尝试下 Zend Studio 作为开发工具,因为调试和编写都很方便,代码检测功能和手册查阅功能,所以想试试 嘿嘿。
下面有提供些为PHP设计的IDE,editplus,Ultra Edit等常用文本工具我就不介绍了!其中一些介绍是从那些下载站里复制过来的!
Zend Studio
开发商:
http://www.zend.com/store/procts/zend-studio.php
目前公认的最强大的PHP开发工具,这种集成软件包包括了用于编辑,调试,配置PHP程序所需要的客户及服务器组件,软件包具有工业标准的PHP开发环境,代码完成引擎,功能齐全的调试器等
NuSphere PHPEd
http://www.nusphere.com/
PhpED 通过无与伦比的PHP调试和压缩能力,以及一个新的NuSOAP web服务向导成为了PHP领域的领军产品。更加强大的Project Manager使得发布站点和应用程序比以前更加容易。现在可以在线程级别对正在运行或者开发中的程序进行测试和调校。支持 CVS 版本控制,而且,对PostgreSQL和MySQL数据库的本地支持为PHP使用开源数据库提供了一个广泛的环境。但对中文支持不太好,汉字都当作单字节处理了。PHPED还有Linux版本。
PHP Coder
http://www.phpide.de/
PHPCoder用于快速开发和调试PHP应用程序,它很容易扩展和定制,完全能够符合开发者的个性要求.1:结合了PHP编译器和参考文档,可以对编辑中的PHP脚本进行即时预览2:支持高亮显示HTML和PHP代码;3:自动完成功能,可以自动完成用户自定义代码片断;4:标准函数提示;5:有专门的工程项目管理器;6:对象浏览器搜寻编辑中文件的包含信息,自定义函数,并以树形显示.7:支持查找对称的语句标记符;8:支持高级搜索和替换;9:自带FTP功能;10:支持运行和断点调试11:......总之,PHPCoder是一个非常实用的,功能强大的编程环境,而且它是免费的!
Ankord PHP Expert Editor
http://www.ankord.com/phpxedit.html
PHP Expert Editor是一个容易使用的 PHP 开发工具,它的功能照顾到初级者及专业开发人员。 PHP Expert Editor 内建 http server 用作测试及除错(你也可以使用其他 http server), PHP 语法检查, FTP 功能, 程式码样板等功能。
DzSoft PHP Editor
http://www.dzsoft.com/dzphp.htm
专为 PHP 所设计的网页程序编辑软件 - DzSoft PHP Editor,具有 PHP 编辑、侦错、浏览、原始码检视、档案浏览、可自订的原始码样本..等功能,无须架设网站主机就可以测试 PHP 指令码,是一套功能强大的 PHP 编程软件。
DzSoft PHP Editor和Ankord PHP Expert Editor非常相识,几乎找不到他们的主要区别,关于这两个软件之间的具体内幕我也不太清楚!
Dev-PHP IDE
http://devphp.sourceforge.net/
非常好用的php编辑器,支持php-gtk,内建许多快速html表单,非常的好用,本身含繁体语言包,另附暗地论坛的中文语言包
Master PHP
http://www.gsoftwares.com/
一款支持PHP, PHP3, PHTML, CSS, JS, HTML, HTM and SQL的编辑器,它允许用户编辑多种一次编辑多种文件,允许插入,运行和最优化程序的脚本,用户可以通过工具栏定制按钮和窗体,可以导出html和rtf格式,支持18种语言
Komodo
http://www.activestate.com/Procts/Komodo/
Komodo支持在Windows与Linux上,Perl、Python及JavaScript等的程序语言开发,以及多种程序语言语法不同颜色标注。这款功能强大的IDE竟然不支持中文,连中文文件名的文件都打不开!
Maguma Studio
http://www.maguma.com/
Maguma Studio包含了编辑和调试 PHP 程序所有必须的工具。无论您是经验丰富的开发者、或是初学者它都适合您。带有十分完整的断点、分步等调试功能。支持以树形方式显示文件中的函数和类成员。
PhpLens
http://phplens.com
PhpLens是一款专为PHP开发人员准备的快速数据库开发程序。通过使用PhpLens,可以快速的设计、发布和维护数据库驱动的网络产品。它允许你以HTML表格的形式对数据库进行浏览、编辑、创建、删除和查找。不用写任何代码,它就允许你完成上述操作。
简单推荐到此吧,有什么好滴东西,大家都拿出来共享下咯,嘿嘿,上面的这些软件都很强大,但我个人而言还是比较习惯用editplus。一方面自己水平不够,这些软件的很多功能都还不懂得如何充分利用,浪费丫,另一方面自己的英文太差,想灵活应用这些工具还有必要先提高下自己的E文啊 见笑啦,同时自己使用editplus的时间也比较常,比较顺手吧 ^_^