php 在线编辑器-一个从Ucenter home中剥离的在线编辑器

php技巧 3 Comments

我其实和很多人一样一直在找一个简单可用用的php在线编辑器,其实没有必要提供很强悍的功能,一般是图片,swf,链接,也就够了。
在研究uch的过程中感觉它的在线编辑器还是不错的,而且调用还是挺间的。
看了一下,我觉得包含这样这份文件,你就可以用这个php在线编辑器了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//先说如何使用
<form id="postform" name="postform" method="post" action="test.php">
 <textarea class="userData" name="message" id="uchome-ttHtmlEditor" style="height:100%;width:100%;display:none;border:0px"></textarea>
  <iframe src="editor.php?charset=utf-8&allowhtml=1" name="uchome-ifrHtmlEditor" id="uchome-ifrHtmlEditor" scrolling="no" border="0" frameborder="0" style="width:100%;border: 1px solid #C5C5C5;" height="200"></iframe>
  <input type="hidden" name="confirmgo" value="go" />
  <input type="submit" name="posteditsubmit_btn" id="posteditsubmit_btn" onclick="edit_save();" value="提交" class="submit" />&nbsp;
  </form>
  <?php
  if ($_POST['confirmgo']=='go') {
  	$message = $_POST['message'];
  	echo '拿到-->'.$message.'<--';
  	exit();
  }
 ?>

简单吧,你很简单的从message这个值拿到用户输入的东西了。
当然,至于一些过滤什么的,请自行考虑。
下面说说包含的文件
1.editor.php
2.source/script_common.js
3.image/editor 这个目录的所有文件

4.请研究一下js文件里的函数,一些无关函数完全可以删掉,进行进一步的精简。总共php+js的大小大约是40k 50k不到。

怎么样,这个php在线编辑器简单吧?

php touch函数的使用以及问题

php日记 1 Comment

php touch函数是一个有趣的函数
php touch函数用法为:touch($filename);
这个语句会发生什么?
1.如果$filename 不存在,则创建一个空文件,命名为$filename
注意:这份空文件的编码是比较奇怪的,即便你的php header设定成某个编码 utf8 或者gbk,它是不理睬你的。
所以我觉得拿来创建未来需要读取内容的文件是不合适的,比如你用touch(’test.txt’),生成test.txt ,在后续程序中你写入了数字,中文,英文,等你再读test.txt出来,会发现跟你想要的是两回事,虽然看起来你写的程序好像没什么问题,就是得不到你想要的值,问题就出在编码上。(当然你用覆盖的方式继续使用倒是没什么问题,你用’ab+’类似这样添加的方式进行会出现问题。)
我是没有找到如何指定php touch 生成一定目标的编码0大小文件,你找到一定要告诉我啊。
php touch创建生成的文件拿来做”标志位”我觉得是合适的,比如你touch(’visit.lock’)这样生成visit.lock文件之后,你可以用file_exits 去判断如果文件存在则干嘛干嘛,如果不存在则干嘛干嘛。

2.如果$filename存在
php touch 会改变$filename的什么值呢?php touch会改变$filename的最后访问时间。注意是访问时间,不是创建这份文件的时间。这个功能可以让你做一些时间间隔的限制动作,比如这句话(time()-fileatime($filename)
意思是从上次访问这份$filename以后,已经过了多少时间?比如这样
if((time()-fileatime($filename) >600) echo ‘距离上次访问这份文件,已经过了10分钟’;

我还是挺常用这个函数的,就是若是能解决第一个问题就好了。
此处留下笔记…

Icons by N.Design Studio. Designed By Ben Swift. Powered by WordPress and Free WordPress Themes
Entries RSS Comments RSS Log in