首页
网站首页
公司简介
资讯中心
推荐内容
返回顶部
自动分页的不完整解决方案,ASP里Application那样的全局变量
发布时间:2020-01-02 02:52
浏览次数:

1.下载新最版的FCKEditor,解压
2.删除/FCKeditor/目录下除fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml,fckeditor.php五个文件以外的所有文件 
删除目录/editor/_source,_testcases(基本上,所有_开头的文件夹或文件都是可选的),
删除/editor/filemanager/browser/default/connectors/下除PHP目录的所有目录
删除/editor/filemanager/upload/下的除PHP目录的所有目录
删除/editor/lang/下的除了 en.js, zh.js, zh-cn.js三个文件的所有文件

测试代码

复制代码 代码如下:

复制代码 代码如下:/********************************************* 

* 程序名: php爱好者留言板 
* 演  示: http://www.phpfans.net/guestbook/ 

* 作 者: 我不是鱼 
* Email: deng5765@163.com 
* 网 址: http://www.phpfans.net 
* 博 客:  http://www.phpfans.net/space/?2 

  1. 打开/FCKeditor/fckconfig.js
    修改 
    var FCKConfig.DefaultLanguage = 'zh-cn' ; 
    var _FileBrowserLanguage  = 'php' ;
    var _QuickUploadLanguage  = 'php' ;
    要开启文件上传的话,还需要配置FCKeditoreditorfilemanageruploadphpconfig.php以及FCKeditoreditorfilemanagerbrowserdefaultconnectorsphpconfig.php
    (上传中文名文件会乱码)

<form id="form1" name="form1" method="post" action="">
  <textarea name="content" cols="60" rows="10"></textarea>
  <input type="submit" name="Submit" value="提交" />
</form>
<?
$content=$_POST["content"];
//echo $content;
$ft=array("<br />","</p>");
//echo count($ft);

/**
 * 功能:实现像JSP,ASP里Application那样的全局变量
 * author: [url]www.itzg.net[/url]
 * version: 1.0
 * 版权:如许转载请保留版权声明
 */
/*+----------------example----------------------
require_once("Application.php");

* 版本: v1.0 
* 帮助:  http://www.phpfans.net/guestbook/ 
*********************************************/ 
if(isset($_POST['Submit'])){ 
$mydbuser = $_POST['m_root']; 
$mydbpw = $_POST['m_pw']; 
$mydbname = $_POST['m_db']; 
if(!@mysql_connect("localhost",$mydbuser,$mydbpw)) { 
echo "mysql用户名或密码不正确.返回修改.
返回"; 
exit; 

mysql_query("set names 'gbk'"); 
$dbsql = "CREATE DATABASE IF NOT EXISTS ".$mydbname; 
if(!@mysql_query($dbsql)){echo "请检查是否有建数据库的权限";exit;} 
echo "创建数据库{$mydbname}成功>>
"; 
mysql_select_db($mydbname); 

4.调用方法
将FCKeditor放在网站根目录
在PHP文件里面,包含/FCKeditor/fckeditor.php文件
//包含fckeditor类
include("../FCKeditor/fckeditor.php") ;
//设置编辑器路径
$sBasePath = "/FCKeditor/";
//创建一个Fckeditor,表单的名称为ipaddr
$oFCKeditor = new FCKeditor('ipaddr') ;
$oFCKeditor->BasePath  = $sBasePath ;
//设置表单初始值
$oFCKeditor->Value  = 'This is some <strong>sample text</strong>' ;
$oFCKeditor->Create() ;

$html = "abaaaaaaa<br />cssssssssssssssssssd<br />efdddddddddddddddddd";
preg_match_all ("|(<br />)|U",$html,$out, PREG_PATTERN_ORDER);
 while (list($key,$value) = each($out[1])) {

$arr = array(0=>"Hi",1=>"Yes");
$a = new Application();
$a->setValue("t1","arui");
$a->setValue("arr",$arr);
$u = $a->getValue();
---------------------------------------------+*/
class Application
{
 /**保存共享变量的文件*/
 var $save_file    = 'Application/Application';
 /**共享变量的名称*/
 var $application  = null;
 /**序列化之后的数据*/
  var $app_data    = '';
  /**是否已经做过setValue的操作 防止频繁写文件操作*/
  var $__writed    = false;

$char = ''; 
if(mysql_get_server_info()> '4.1') $char = 'DEFAULT CHARSET=gbk'; 

//还可设置
$oFCKeditor->Width
$oFCKeditor->Height
$oFCKeditor->ToolbarSet

 }

  /**
   * 构造函数
   */
  function Application()
  {
   $this->application = array();
  }
  /**
   * 设置全局变量
   * @param string $var_name 要加入到全局变量的变量名
   * @param string $var_value 变量的值
   */
  function setValue($var_name,$var_value)
  {
   if (!is_string($var_name) || empty($var_name))
    return false;
   if ($this->__writed)
   {
    $this->application[$var_name] = $var_value;
    return;
   }
   $this->application = $this->getValue();
   if (!is_array($this->application))
    settype($this->application,"array");
   $this->application[$var_name] = $var_value;
   $this->__writed = true;
      $this->app_data = @serialize($this->application);    
      $this->__writeToFile();
  }
 /**
  * 取得保存在全局变量里的值
  * @return array
  */
 function getValue()
 {
     if (!is_file($this->save_file))
         $this->__writeToFile();
     return @unserialize(@file_get_contents($this->save_file));
 }
 /**
  * 写序列化后的数据到文件
  * @scope private
  */
 function __writeToFile()
 {
  $fp = @fopen($this->save_file,"w");
  @fwrite($fp,$this->app_data);
  @fclose($fp);
 }
}

$sql = "CREATE TABLE `post` ( 
  `p_id` int(255) unsigned NOT NULL auto_increment, 
  `p_name` varchar(20) NOT NULL, 
  `p_email` varchar(20) NOT NULL, 
  `p_qq` varchar(20) NOT NULL, 
  `p_homepage` varchar(100) NOT NULL, 
  `p_image` varchar(8) NOT NULL, 
  `p_title` varchar(160) NOT NULL, 
  `p_content` mediumtext NOT NULL, 
  `p_ip` varchar(15) NOT NULL, 
  `p_date` datetime NOT NULL, 
  PRIMARY KEY  (`p_id`) 
) ENGINE=MyISAM {$char};"; 
if(!@mysql_query($sql)){echo "请检查数据表post是否存在,存在请先删除.";exit;} 
echo "创建数据表 post 成功>>
"; 

5.定制
a.定制调用路径
直接将FCKeditor目录改为editor/,并且在调用的时候指定根路径为/editor/。
b.定制风格
可以通过修改editorskins目录下的Skin来定制风格,主要是修改CSS。
c.定制toolbar

$keywords = preg_split ("/(<br />)/", $html);
//echo $html;
$pagesize=10;
$size=0;
$h="";
for ($i=0; $i< count($keywords); $i++) {
 if($size<$pagesize){
 $size+=strlen($keywords[$i]);
// echo "size=".$size;
 $h.=$keywords[$i];
 }
}

?> 

$sql = "INSERT INTO `post` VALUES (1, '我不是鱼', 'deng5765@163.com', '245821218', 'http://www.phpfans.net', '01', '感谢你使用php爱好者留言板', ' 

在fckconfig.js中,默认定制好了Default,Basic两种toolbar,你也可以根据格式定制自己的toolbar,并且在php中使用$oFCKeditor->ToolbarSet=toolbarname调用

echo $h;
?>

非常感谢你对php爱好者留言板的支持

d.定制字体
将fckconfig.js里面的FCKConfig.FontNames字体列表前面加上:
宋体;黑体;隶书;楷体_GB2312;
(注意保存为UTF8格式)

思路是使用 <br /> 将文章内容分解为多个块.形成数组
然后遍例,同时将文章内容块,一点点组合,直到它的长度大于 $pagesize

 

e.关闭文件上传
i.将fckconfig.js里面的FCKConfig.LinkBrowser,FCKConfig.ImageBrowser,FCKConfig.FlashBrowser,FCKConfig.LinkUpload,FCKConfig.ImageUpload,FCKConfig.FlashUpload设置为false.
ii.直接将filemanager里面的php文件删降
iii.定制toolbars
最重要的一点,你需要更改filemanager下面的php文件,只有认证的用户才可以访问。

这是一个不错的方法,使用正则的 preg_split 进行文章内容的分割,是考虑到,以后不光使用<br /> 同时使用 </p>  或者更多的分割符号

在使用中遇到任何问题,请到

f.注意事项:请用Editplus之类的编辑器编辑配置文件,注意保存格式为utf8.

但问题是,同时使用多个分割符后, 无法判断某一段是根据哪个分割符进行分割的. 无法对文章内容完整还原

 

其它:
asp的安装方法基本类似,将所有php换成asp就行了。
JSP平台下,需要把filemanager下的都删除,再用Servlet替换,需要修改fckconfig.js里面的几个配置(LinkBrowserURL,ImageBrowserURL,FlashBrowserURL,LinkUploadURL ,FlashUploadURL ,ImageUploadURL )。

项目比较紧,而且添加文章的编辑器是fckeditor,每个文章都有n多的</ br>.就暂时不考虑多个分割符了

http://www.phpfans.net/guestbook/ 获得帮助

 所以还不算是完整的解决方案. 

 

或提出你的建议.同时欢迎大家光临php爱好者站

 

http://www.phpfans.net 

', '127.0.0.1', now())"; 
if(@mysql_query($sql)){echo "初始化数据表成功
";} 

$sql = "CREATE TABLE `reply` ( 
  `r_id` int(255) unsigned NOT NULL auto_increment, 
  `p_id` int(255) NOT NULL, 
  `r_content` varchar(255) NOT NULL, 
  `r_rname` varchar(20) NOT NULL, 
  `r_time` date NOT NULL, 
  PRIMARY KEY  (`r_id`), 
  UNIQUE KEY `p_id` (`p_id`) 
) ENGINE=MyISAM {$char};"; 
if(!@mysql_query($sql)){echo "请检查数据表reply是否存在,存在请先删除.";exit;} 
echo "创建数据表 reply 成功>>
"; 

$str = '

$str .= '$mydbuser = ''.$mydbuser."';//数据库用户名n"; 
$str .= '$mydbpw = ''.$mydbpw."';//数据库密码n"; 
$str .= '$mydbname = ''.$mydbname."';//数据库名n"; 
$str .= '$mydbcharset = 'gbk''.";//数据库编码,不建议修改.n"; 
$str .= '$admin = ''.$_POST['m_admin'].'';//管理员名称'."n"; 
$str .= '$adminpw = ''.$_POST['m_adminpw'].'';//管理员密码'."n"; 
$str .= '$eachpage = 5;//每页显示留言条数'."n"; 
$str .= '?>'; 
$fp = fopen('include/config.php','w'); 
if(!$fp){echo"此空间不支持file函数,请手动配置config.php上的内容
";} 
else{ 
fwrite($fp,$str); 
fclose($fp); 
echo "配置文档 config.php 更新成功>>

"; 
echo "安装顺利完成.安全起见,请删除insall.php
"; 

echo ' 
进入留言板首页'; 
exit; 

?>     

 

php爱好者 留言板_安装

友情链接: 网站地图
Copyright © 2015-2019 http://www.nflfreepicks.net. 新葡萄京娱乐场网址有限公司 版权所有