http://blog.sina.com.cn/ruby2010[订阅][手机订阅]
个人资料
分类
    内容读取中…
访客
读取中...
好友
读取中...
评论
读取中...
博文
$image_info   =   @getimagesize('http://$filelocation/$filename');  
  $type=$image_info[2];  
      if   ($type   ==   0)  
  
            echo   'no pic';   
       }else{   
        echo   'yes pic';   
     
 $smarty = new Smarty;
$smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.');
$smarty->display('index.tpl');

index.tpl:

{$articleTitle}
{$articleTitle|truncate}
{$articleTitle|truncate:30}
{$articleTitle|truncate:30:''}
{$articleTitle|truncate:30:'---'}
{$articleTitle|truncate:30:'':true}
{$articleTitle|truncate:30:'...':true}

OUTPUT:

Two Sisters Reunite after Eighteen Years at Checkout Counter.
Two Sisters Reunite after Eighteen Years at Checkout Counter.
Two Sisters Reunite after...
Two Sisters Reunite after
Two Sisters Reunite after---
Two Sisters Reunite after Eigh
Two Sisters Reunite after E...
 

可能你也碰到过这种情况,就是在js的代码中用了window.onload后,可能会影响到body中的onload事件。你可以全写在body 中,也可以全放到window.onload中,但是这样并不是很方便,有时我们需要两个同时用到。这时就要用window.attachEvent和 window.addEventListener来解决一下。

下面是一个解决方法。至于attachEvent和addEventListener的用法,可以自己Google或百度一下。
if (document.all){
 window.attachEvent('onload',函数名)//IE中
}
else{
 window.addEventListener('load',函数名,false);//firefox
}

 

今天看到了一个javascript高手的杰作,之用了五行代码就实现了无缝滚动,简直是个奇迹。而它利用的原理也非常简单,

element.appendChild(newNode) 方法中,如果 newNode本身是Dom中的一个节点. 那么appendChild方法执行的不再是append操作了,而是一个move操作. 

<style>
*
{border:1px solid green

用js抛异常(2007-11-24 10:09)
 

调试js的时候,往往会采用try{}catch{}的结构对错误进行捕捉,不过在js中还真的没有想过要抛异常出来,而且也没有接触过这方面的东西,尽管在c#和java中一次一次 throw new Exception()。

今天却突然意识到这个问题的重要性能了,因为我需要用异常来终止某些个过程。用aptana的js文档一查,果然有这种结构——throw new Error(string)。使用了一下,果然就是它了。

 function testThrow(){  if(!arguments[0])throw new Error('now arguments'); }     try{  testThrow(); }catch(e){  alert(e); } 
用js使tab按键失效(2007-11-24 10:01)
 其实使tab键失效只是一个方面,对于所有的按键都是适合的。这种功能的作用是消除默认按键对需要实现的功能产生的影响。比如按tab键的时候,需要使光标焦点保持在原位置。

查看了一下js的文档,发现在Event中有cancelable的属性,对应的方法是preventDefault(),当调用 preventDefault()时,cancelable为true,这个时候,就能组织原来的操作的默认影响。不过,文档中也表明了,这个方法只在非 ie里边的浏览器起作用。不过无所谓,在ie里边,在event所在的方法里边return false,ie就不会继续下边的操作了。

可以看下边的一段实例代码:

            var self = this;
            bindEvent(this.__inputer, 'keydown', function(event) {
                event = event || window.event;
                bang.control.TagSmartHint.isTabKey = false;
     
 
分配了一个数组array给Smarty,假设Smarty的分界符为'{' 和'}'。
在很多资料上都看到,在Smarty中要求数组的长度时,可以用在数组后便加 |count的方法调用。即通过{array|count}获得array的长度。但是今天在写模板时,发现这样得不到数组的长度,而只是得到一个返回的字符串Array。也就是说仅仅是返回了{array}的结果,而没有返回其array的长度。
 
查看smarty\plugins文件夹,发现并没有count的相关方法,也就是说,count是直接调用了php中的方法
 
后来通过网络上的资料,发现可以在count前面加@,从而正确的获取数组的长度。再进一步查看Smarty的源码,发现Smarty对属性调节器后边的方法名进行处理时,会对前边加@的进行特殊处理。因此作出判断:
PHP数组在JS里使用(2007-11-21 10:05)
保存为PHP文件 

 

<script language='php'>
$arr='new Array('google.tpl','the_name.tpl','home_city.tpl','my_message.tpl')';
</script>

<script language='javascript'>
var av =<?echo $arr; ?>;
alert(av.length)
for(var i=0;i<av.length;i++)
{
document.writeln(av[i]);
document.write('<br>');
}
</script>

js setInterval传参问题(2007-11-18 22:46)
 

function init(a){
  window.setInterval(function()
    {
       uservote(a);
      },1000);
}


function uservote(b)

createXMLHttpRequest();
 url='./show_project.php?act=vote';
 XMLHttpReq.open('GET',url,true);
 XMLHttpReq.onreadystatechange=voteResponse;
 XMLHttpReq.send(null);


}


function voteResponse()
{
if(XMLHttpReq.readyState==4)
{

 if(XMLHttpReq.status==200)
 {
 alert(XMLHttpReq.responseText);
 
 
 }else
 {
 alert('你请求的页面有异常!');
 }
 }
 

}

 

touch
(PHP 3, PHP 4, PHP 5)

touch -- 设定文件的访问和修改时间
说明
bool touch ( string filename [, int time [, int atime]] )


尝试将由 filename 给出的文件的访问和修改时间设定为给出的时间。如果没有给出可选参数 time,则使用当前时间。这和 utime(有时也叫做 utimes)所作的等价。如果给出了第三个参数 atime,则给定文件的访问时间会被设为 atime。注意访问时间总是会被修改的,不论有几个参数。

如果文件不存在,则会被创建。如果成功则返回 TRUE,失败则返回 FALSE。

 

 

flock

flock -- 轻便的咨询文件锁定

说明
bool flock ( int handle, int operation [, int &wouldblock] )


PHP 支持以咨询方式(也就是说所有访问程序必须使用同一方式锁定, 否则它不会工作)锁定全部文件的一种轻便方法。

注: 在 Windows 下 flock() 将会强