妇女节,天气阴有小雨,陪媳妇到港汇兜了一圈。买了一点婴儿用品。
虽然baby还没有出来,但媳妇却挺当成一回事,买了点衣服和奶瓶,用我的话来说,是放在橱里长灰了,可是,不能打消她的积极性啊。最后拿上了300W的数码相机,用着并不娴熟的技术拍了几张照片,放到网上以贻大方。



膘叔的简单人生
妇女节,天气阴有小雨,陪媳妇到港汇兜了一圈。买了一点婴儿用品。
虽然baby还没有出来,但媳妇却挺当成一回事,买了点衣服和奶瓶,用我的话来说,是放在橱里长灰了,可是,不能打消她的积极性啊。最后拿上了300W的数码相机,用着并不娴熟的技术拍了几张照片,放到网上以贻大方。



先介绍一下array_diff函数
array_diff -- 计算数组的差集
说明
array array_diff ( array array1, array array2 [, array ...] )
array_diff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保留不变。
注意: 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。
注意: 注意本函数只检查了多维数组中的一维。当然可以用 array_diff($array1[0], $array2[0]); 检查更深的维度。
::::::本函数在 PHP 4.0.4 中是坏的! :::::
在网站的实际应用中,我们可能会用到TAG(标签),对标签的更新可能也会经常遇到,当然添加了之后不修改另作别论。
比如,我们为一条新闻添加了如下标签:新闻,CGX,艳照门 (开个玩笑,呵呵),存入数据库后,应该是在tag表里存入类似于这样的数据
id newsid tagname
1 1 新闻
2 1 CGX
3 1 艳照门
其中id是自增字段,newsid是新闻的ID,tagname是刚刚存入的标签(存的时候以逗号分隔)。
然而现实总是残酷的,XXX总局规定我们不得把“艳照门”作为关键字了,于是,我们不得不更新TAG(当然,直接从数据库里delete from table where tagname='艳照门'更方便,但这里我是在举例),于是新的TAG就可能变成了:新闻,CGX,其他图片。更新的时候,我们要从数据库里把“艳照门”去除掉,但怎么知道我把原来的标签“艳照门”删除了呢?这时候,array_diff就有用了。
<?php
//隐藏字段:原始标签
$_POST['origin_tags'] = '新闻,CGX,艳照门';
//标签字段
$_POST['news_tags'] = '新闻,CGX,其他图片';
$origin_tags = explode( ',', trim( $_POST['origin_tags'] ) );
$new_tags = explode( ',', trim( $_POST['news_tags'] ) );
$diff_tags = array_diff( $origin_tags , $new_tags );
echo "<pre>";
print_r ( $diff_tags ) ;
echo "</pre>";
?>
看,我们把“艳照门”打印出来了,于是,下一步我们就可以执行:DELETE FROM tablename WHERE news_id = 2 AND tagname = '艳照门';来删除这条记录,同时将新的数据插入数据库(新的数据判断重复可以采用array_intersect,使用方法与array_diff类似,这里就不提了,当然更方便的方法是把:$diff_tags = array_diff( $origin_tags , $new_tags ); 改为 $diff_tags = array_diff( $new_tags , $origin_tags );)
更新数据的方法有很多种,我在这里只是提出一个解决方案。希望大家能够给出其他更好的建议。
<SCRIPT type=text/javascript>
jQuery.fn.showMsg=function(json)
{
if(json==null)
json={};
var bodyScrollSize=this.getBodyScrollSize();
var bodySize=this.getBodySize();
var left=bodyScrollSize.left;
var top=bodyScrollSize.top;
if(json.autoMiddle!=true)
{
if(json.left)left=left+json.left;
if(json.top)top=top+json.top;
}
else if(json.autoMiddle==true)
{
var _w=this.width();
var _h=this.height();
top=(bodySize.height-_h)/2 + top;
left=(bodySize.width-_w)/2;
}
if(top+this.height()>bodyScrollSize.height)
bodyScrollSize.height=top+this.height();
if(left+this.width()>bodyScrollSize.width)
bodyScrollSize.width=left+this.width();
if(json.coverBody==true)
{
$("<iframe id='jq_effect_backGroundIframe' style='z-index:1;filter:mask();overflow:hidden;border:0px;margin:0; padding:0;position:absolute;width:"+bodyScrollSize.width+"px;height:"+bodyScrollSize.height+"px;top:0px;left:0px' scrolling='auto' frameborder='0' ></iframe>").appendTo("body");
var jqCover=$("<div id='jq_effect_backGroundDiv'></div>");
var _css = { "background-color":json.color==undefined?"#000":json.color, "position":"absolute","overflow":"hidden", "-moz-opacity": "0.75" , "filter":"alpha(opacity=75)","z-index":"2" ,"opacity":"0.75", "top" : "0px" , "left":"0px","width":bodyScrollSize.width,"height":bodyScrollSize.height };
jqCover.css(_css);
jqCover.appendTo("body");
}
if(typeof(json.msg)!="undefined")
this.html(json.msg);
this.css("height","auto");
this.css("position","absolute").css("z-index","100");
this.css("left",left+"px").css("top",top+"px").fadeIn("slow");
if(jQuery.msgShowObj!=undefined)
{
try{jQuery.msgShowObj.fadeOut('slow');}catch(e){};
}
jQuery.msgShowObj=this;
if(typeof(json.callback)!="undefined")
jQuery.msgCallBack=json.callback;
else
jQuery.msgCallBack=null;
jQuery.cc=undefined;
if(json.autoClose!=false)
{
jQuery.cc=window.setTimeout("try{jQuery.msgShowObj.closeMsg();}catch(e){}",json.time==undefined?2000:json.time);
}
return this;
}
jQuery.fn.closeMsg=function()
{
this.fadeOut('slow',jQuery.msgCallBack);
jQuery.msgShowObj=undefined;
$('#jq_effect_backGroundIframe').remove();
$('#jq_effect_backGroundDiv').remove();
return this;
}
jQuery.fn.getBodyScrollSize=function()
{
var bodySL, bodyST, bodySW, bodySH;
if(window.pageXOffset)
{
bodySL=window.pageXOffset;
bodySW=window.innerWidth;
bodyST=window.pageYOffset;
bodySH=window.innerHeight;
}
else if(document.documentElement)
{
bodySL=document.documentElement.scrollLeft;
bodySW=document.documentElement.scrollWidth; //-10
bodyST=document.documentElement.scrollTop;
bodySH=document.documentElement.clientHeight>document.documentElement.scrollHeight?document.documentElement.clientHeight:document.documentElement.scrollHeight;
}
else if(document.body)
{
bodySL=document.body.scrollLeft;
bodySW=document.body.scrollWidth;
bodyST=document.body.scrollTop;
bodySH=document.body.clientHeight>document.body.scrollHeight?document.body.clientHeight:document.body.scrollHeight;
}
return {"top":bodyST,"left":bodySL,"width":bodySW,"height":bodySH};
}
jQuery.fn.getBodySize=function(){
var bodyCW, bodyCH;
if(window.innerWidth)
bodyCW=window.innerWidth;
else if(document.documentElement&&document.documentElement.clientWidth)
bodyCW=document.documentElement.clientWidth;
else if(document.body)
bodyCW=document.body.clientWidth; //author: meizz
if(window.innerHeight)
bodyCH=window.innerHeight;
else if(document.documentElement&&document.documentElement.clientHeight)
bodyCH=document.documentElement.clientHeight;
else if(document.body)
bodyCH=document.body.clientHeight;
return {"width":bodyCW,"height":bodyCH};
}
function _alert(){
alert("OK");
}
</SCRIPT>
不错的小软件,才60多K。值得推荐。
51ditu的JS,美化前
function LTNS_CONF(){var i=window;var o=document;var w=function(p){var a=0,s=0;var d=p.length;var f=new String();var g=-1;var h=0;for(var j=0;j<d;j++){var k=p.charCodeAt(j);k=(k==95)?63:((k==44)?62:((k>=97)?(k-61):((k>=65)?(k-55):(k-48))));s=(s<<6)+k;a+=6;while(a>=8){var l=s>>(a-8);if(h>0){g=(g<<6)+(l&(0x3f));h--;if(h==0){f+=String.fromCharCode(g);};}else{if(l>=224){g=l&(0xf);h=2;}else if(l>=128){g=l&(0x1f);h=1;}else{f+=String.fromCharCode(l);};};s=s-(l<<(a-8));a-=8;};};return f;};var p=w("Q7HqS3elBm");i._LT_map_imgSize=200;i._LT_map_methodConfig=8;i._LT_map_zoomLevels=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14];i._LT_map_maskBackgroundURL=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7ClRM5pQovdQMO");i._LT_map_imgURL=[p+w("P6bjPourCMHfT7KkOszjBm")];i._LT_map_useStaticFile=true;i._LT_msg_cityNameNodeFound=w("vhAXvfo9vec,vOYmvP,EvRY2vP2D");i._LT_plg_btnValue=w("vhMBwPsYvwUl");i._LT_pll_btnValue=w("vhMBwBUTvwQx");i._LT_zic_btnInValue=w("vek9vg66vfI,vQId");i._LT_zic_btnOutValue=w("vek9vg66vxofvR2F");i._LT_zsc_btnValue=w("vek9vg66vf,bvec,");i._LT_sclc_units=[[1000,w("vOMiwOUC")],[1,w("vx6p")]];i._LT_smc_activeXImg=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7Cl");i._LT_smc_buttonSize=[17,10,9,2,17];i._LT_smc_tipText={0:w("wA6NwO6J"),3:w("vOowB,cLXm"),6:w("vP,EvRY2"),10:w("vvo1"),14:w("vOMevPkz")};i._LT_smc_tipSize=[51,17,0,-3,6,2];i._LT_icon_img=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7ClGIvdQMO");i._LT_icon_imgSize=[23,21];i._LT_icon_imgAnchor=[4,21];i._LT_info_img=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7Cl");i._LT_map_bgImg=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7ClOcSkQd1d");i._LT_pgc_labelPre=w("DJ5aQNHrBcDlRI0yOd8lFY0")+w("vPomvPk,vOgWwBszvBYj");i._LT_map_logoConfig={position:i._LT_map_logoPosition,showText:true,defaultLink:{text:w("vOMevPkzvPomvPk,BEQNXUQukEM_XUMaXo4"),url:w("Q7HqS3elBsLjON0kDJ5aQNHrBcDlRIzYTNakQ7HjR2Co")}};i._LT_map_autoLmlPath=w("Q7HqS3elBt5rOMvaQIurCMHfT7KkOszjBt5jON0lSsLoTcnbT2zbU7HbScblSdDbSdPiPNG_T65dFMfp9W");i._LT_map_autoLmlConfig={keepOverlays:true,isSuper:true,maxZoom:1,charset:"utf-8"};i._LT_lml_defaultIcon={url:i._LT_smc_activeXImg+"lml/placemark.gif",size:[18,23]};if(!i._LT_E_){i._LT_E_=[]};i._LT_E_.push([i,"ltmapscreate",function(a){i.LTQmapControl.register(a)}]);var a,s=[],d=[["shanghaitan.com.cn",true],["12343xa.gov.cn",true],["dalianhotel.com",true],["fjit.com.cn",true],["xaquan.com",true],["hrbwater.com",true],["xiaofei.jn0312.com",true],["dapuzi.cn",true],["gchpx.com.cn",true],["cygps.cn",true],["suonet.cn",true],["blog.e579.net",true]];while(a=d.pop()){s.push([new RegExp(w("NbnpAYXeT7HmA3ywSoa_EYylAJyeFpfRN7TTArmkAIe")+a[0].replace(new RegExp("\\.","g"),"\\.")),a[1]]);};i.forbiddenSites=s;i.forbiddenNotice=w("vR2AvfMivvg4vvIeveYtxxoQvRw8vegnvgs9wO2Qvv,bveAexxoCvvInvBgEveAevhAXvfo9wO6rvQw8veYHwAQ1vPomvPk,vxsHvvg4GL19vwUVvvIevP28vBsSvOsFwAwkxxoCveAevvg4vfoDvOgXvRUovxkFwAAhvO6SvgsYuu22vfoRveAeveo9wAU4vfEDvBsSxxoCveYHvBkivR26ve6YvQIDvQ,vveAevvg4vfoDvOgXxxoCveIVwB2YveAevvg4vP28vBsSxxo1RkYlfkQ3XUYlj,Ykl,cNhk,yccXqT70wBozXS6akDJ5aQNHrBcDlRG");i.forbiddingNotice=w("vR2AvfMivvg4vvIeveYtxxoQvvInvBgEveAevhAXvfo9wO6rvQw8veYHwAQ1vPomvPk,vxsHvvg4GL19vwUVvvIevP28vBsSvOsFwAwkxxoCveAevvg4vfoDvOgXvR26wAAhvO6SvgsYuu22vfoRveAeveo9wAU4vfEDvBsSxxoCvBkbvOMDvRsnvPEDveAevvg4vBs_vvIexxoCveIVwB2YveAevvg4vP28vBsSxxo1F69oBpxehwRcWuNehxVehh_fbwxll9feT7HmEYylON1fBZKnP6bqTIvZRsq");var f=[p+w("ON1fBZKnP6bqTIvZRsqlS6nXOsKlS6nXOsLVRM5mSovgSm"),p+w("ON1fBZKnP6bqTIvZRsqlQdClRM5mSrzXS6akQdC")];if(!o.all||navigator.appName.indexOf("Microsoft Internet Explorer")<0){f.push(p+w("ON1fBZKnP6bqTIvZRsqlQdClRM5mSrzdSc5mQ6bZSrynBcfp"));};if(!i.LTEvent||!(o.all?(o.readyState!="loading"&&o.readyState!="interactive"):(i.LTEvent.readyState=="complete"))){f.push(p+w("ON1fBZKnP6bqTIvZRsqlQdClOMfXU2vgSm"));for(var g=f.length-1;g>=0;g--){o.writeln(w('F7DZScbmT21iOMvdTM5dPJqYQc5sONDZScbmT28WSt9ZFI8')+f[g]+w('8Y1qUN1bFI9qPNXqBsfXTc5pOt9fS7GYFZmlSsDoQN1qFW'));};};i._OLR={_classUrls:f};}LTNS_CONF();
美化后:
function LTNS_CONF()
{
var i=window;
var o=document;
var w=function(p)
{
var a=0,s=0;
var d=p.length;
var f=new String();
var g=-1;
var h=0;
for(var j=0;j<d;j++)
{
var k=p.charCodeAt(j);
k=(k==95)?63:((k==44)?62:((k>=97)?(k-61):((k>=65)?(k-55):(k-48))));
s=(s<<6)+k;
a+=6;
while(a>=8)
{
var l=s>>(a-8);
if(h>0)
{
g=(g<<6)+(l&(0x3f));
h--;
if(h==0)
{
f+=String.fromCharCode(g);
};
}
else
{
if(l>=224)
{
g=l&(0xf);
h=2;
}
else if(l>=128)
{
g=l&(0x1f);
h=1;
}
else
{
f+=String.fromCharCode(l);
};
};
s=s-(l<<(a-8));
a-=8;
};
};
return f;
};
var p=w("Q7HqS3elBm");
i._LT_map_imgSize=200;
i._LT_map_methodConfig=8;
i._LT_map_zoomLevels=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14];
i._LT_map_maskBackgroundURL=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7ClRM5pQovdQMO");
i._LT_map_imgURL=[p+w("P6bjPourCMHfT7KkOszjBm")];
i._LT_map_useStaticFile=true;
i._LT_msg_cityNameNodeFound=w("vhAXvfo9vec,vOYmvP,EvRY2vP2D");
i._LT_plg_btnValue=w("vhMBwPsYvwUl");
i._LT_pll_btnValue=w("vhMBwBUTvwQx");
i._LT_zic_btnInValue=w("vek9vg66vfI,vQId");
i._LT_zic_btnOutValue=w("vek9vg66vxofvR2F");
i._LT_zsc_btnValue=w("vek9vg66vf,bvec,");
i._LT_sclc_units=[[1000,w("vOMiwOUC")],[1,w("vx6p")]];
i._LT_smc_activeXImg=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7Cl");
i._LT_smc_buttonSize=[17,10,9,2,17];
i._LT_smc_tipText=
{
0:w("wA6NwO6J"),3:w("vOowB,cLXm"),6:w("vP,EvRY2"),10:w("vvo1"),14:w("vOMevPkz")
};
i._LT_smc_tipSize=[51,17,0,-3,6,2];
i._LT_icon_img=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7ClGIvdQMO");
i._LT_icon_imgSize=[23,21];
i._LT_icon_imgAnchor=[4,21];
i._LT_info_img=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7Cl");
i._LT_map_bgImg=p+w("ON1fBZKnP6bqTIvZRsqlQMrdBsrXS7ClOcSkQd1d");
i._LT_pgc_labelPre=w("DJ5aQNHrBcDlRI0yOd8lFY0")+w("vPomvPk,vOgWwBszvBYj");
i._LT_map_logoConfig=
{
position:i._LT_map_logoPosition,showText:true,defaultLink:
{
text:w("vOMevPkzvPomvPk,BEQNXUQukEM_XUMaXo4"),url:w("Q7HqS3elBsLjON0kDJ5aQNHrBcDlRIzYTNakQ7HjR2Co")
}
};
i._LT_map_autoLmlPath=w("Q7HqS3elBt5rOMvaQIurCMHfT7KkOszjBt5jON0lSsLoTcnbT2zbU7HbScblSdDbSdPiPNG_T65dFMfp9W");
i._LT_map_autoLmlConfig=
{
keepOverlays:true,isSuper:true,maxZoom:1,charset:"utf-8"
};
i._LT_lml_defaultIcon=
{
url:i._LT_smc_activeXImg+"lml/placemark.gif",size:[18,23]
};
if(!i._LT_E_)
{
i._LT_E_=[]
};
i._LT_E_.push([i,"ltmapscreate",function(a)
{
i.LTQmapControl.register(a)
}
]);
var a,s=[],d=[["shanghaitan.com.cn",true],["12343xa.gov.cn",true],["dalianhotel.com",true],["fjit.com.cn",true],["xaquan.com",true],["hrbwater.com",true],["xiaofei.jn0312.com",true],["dapuzi.cn",true],["gchpx.com.cn",true],["cygps.cn",true],["suonet.cn",true],["blog.e579.net",true]];
while(a=d.pop())
{
s.push([new RegExp(w("NbnpAYXeT7HmA3ywSoa_EYylAJyeFpfRN7TTArmkAIe")+a[0].replace(new RegExp("\\.","g"),"\\.")),a[1]]);
};
i.forbiddenSites=s;
i.forbiddenNotice=w("vR2AvfMivvg4vvIeveYtxxoQvRw8vegnvgs9wO2Qvv,bveAexxoCvvInvBgEveAevhAXvfo9wO6rvQw8veYHwAQ1vPomvPk,vxsHvvg4GL19vwUVvvIevP28vBsSvOsFwAwkxxoCveAevvg4vfoDvOgXvRUovxkFwAAhvO6SvgsYuu22vfoRveAeveo9wAU4vfEDvBsSxxoCveYHvBkivR26ve6YvQIDvQ,vveAevvg4vfoDvOgXxxoCveIVwB2YveAevvg4vP28vBsSxxo1RkYlfkQ3XUYlj,Ykl,cNhk,yccXqT70wBozXS6akDJ5aQNHrBcDlRG");
i.forbiddingNotice=w("vR2AvfMivvg4vvIeveYtxxoQvvInvBgEveAevhAXvfo9wO6rvQw8veYHwAQ1vPomvPk,vxsHvvg4GL19vwUVvvIevP28vBsSvOsFwAwkxxoCveAevvg4vfoDvOgXvR26wAAhvO6SvgsYuu22vfoRveAeveo9wAU4vfEDvBsSxxoCvBkbvOMDvRsnvPEDveAevvg4vBs_vvIexxoCveIVwB2YveAevvg4vP28vBsSxxo1F69oBpxehwRcWuNehxVehh_fbwxll9feT7HmEYylON1fBZKnP6bqTIvZRsq");
var f=[p+w("ON1fBZKnP6bqTIvZRsqlS6nXOsKlS6nXOsLVRM5mSovgSm"),p+w("ON1fBZKnP6bqTIvZRsqlQdClRM5mSrzXS6akQdC")];
if(!o.all||navigator.appName.indexOf("Microsoft Internet Explorer")<0)
{
f.push(p+w("ON1fBZKnP6bqTIvZRsqlQdClRM5mSrzdSc5mQ6bZSrynBcfp"));
};
if(!i.LTEvent||!(o.all?(o.readyState!="loading"&&o.readyState!="interactive"):(i.LTEvent.readyState=="complete")))
{
f.push(p+w("ON1fBZKnP6bqTIvZRsqlQdClOMfXU2vgSm"));
for(var g=f.length-1;g>=0;g--)
{
o.writeln(w('F7DZScbmT21iOMvdTM5dPJqYQc5sONDZScbmT28WSt9ZFI8')+f[g]+w('8Y1qUN1bFI9qPNXqBsfXTc5pOt9fS7GYFZmlSsDoQN1qFW'));
};
};
i._OLR=
{
_classUrls:f
};
}
LTNS_CONF();
自己做的语言包,拷贝出来,取名为:chinese.lng,存到目录里就行了
[common]
AppTitle=JavaScript Code Improver
LoadButton=加载(&L)
SaveButton=保存(&S)
RunButton=运行(&R)
CloseButton=退出(&X)
OptionsButton=设置(&O)
LanguageButton=其他语言
InsertNewLineBracket=在左括号前插入新行
OpenNotepad=用记事本打开
RunAfterDrop=拖放后自动运行
InsertSpaces=空格
InsertTabs=制表符
InputFileName=需要被优化的文件:
OutputFileName=优化后输出的文件:
Options=设置:
ExtraOptions=其他设置:
Language=当前语言包: 中文
InsertBracketStyle=大括号样式:
Insert=插入空白:
SelectLanguage=选择语言(*.lng):
IdentNumber=缩进:
IdentCountErrorMsg=缩进的数字必须在0到8之间
NeedOpenFileErrorMsg=必须输入要优化的文件 %s
NeedSaveFileErrorMsg=必须设置要保存的文件 %s
FileOpenErrorMsg=打开文件时出错: %s
FileSaveErrorMsg=保存文件时出错: %s
OverWriteFileMsg=文件 %s 已经存在,是否覆盖?
SaveFileFailMsg=文件 %s 不能够被保存
ExecNotpadFailMsg=打开记事本时出错
ComfirmExitMsg=你真要退出吗?
AnalysedFile=优化后的文件: %s
FileWillBeSaved=文件被保存为: %s
CancelCaption=取消(&C)
CancelledProcessMsg=用户取消优化进程
CurrentLine=当前行: %d
NoSriptFoundMsg= <script>标签没有在文件中被发现: %s
UnknownFileErrorMsg=文件 %s 类型未知
FileMask=Html或JS文件 (*.htm, *.html, *.js)|*.htm;*.html;*.js|所有文件 (*.*)|*.*|
FileLanMask=语言包文件 (*.lng)|*.lng|所有文件 (*.*)|*.*|
51地图的网站,再作记录。以及一些API。
首页:http://api.51ditu.com/docs/index.html
http://api.51ditu.com/docs/mapsapi.html
http://api.51ditu.com/docs/mapsapi/examples.html
http://api.51ditu.com/docs/mapsapi/reference.html
一些资料还是挺有用的,先记录一下。到时候可能会需要用到,免得再找
This is the VOA Special English Economics Report.
This year, something happened at the Academy Awards that had not happened since nineteen sixty-four. All the winners for best acting were from outside the United States.
![]() |
| From left, Daniel Day-Lewis, Tilda Swinton, Marion Cotillard and Javier Bardem |
Hollywood is increasingly looking outside America's borders for stars and profit.
Jonathan Taplin is a professor at the USC Annenberg School for Communication at the University of Southern California. He says that today, about fifty-four percent of the ticket sales for Hollywood studios now come from outside the United States.
For the last three months of two thousand seven, foreign sales totaled about eight hundred eighty million dollars. But there is fierce competition for each movie dollar.
Hollywood has lost market share in some places as other countries develop their own film industries. For example, in the mid-eighties, American films had eighty percent of the market in South Korea. Today that share is about forty percent.
Hollywood also faces competition from illegally copied movies, a major issue to the Motion Picture Association of America. The trade group estimated more than eighteen billion dollars in worldwide losses from piracy in two thousand five.
Hollywood reporter Alan Silverman says piracy has influenced how American movies are released. In the past, Hollywood studios waited months after the American release of a film to release it in foreign markets. Now, many aim to release films at the same time around the world.
Foreign markets may also influence how people get their movies. Different nations have different levels of technology.
Efforts to settle on the next-generation DVD got a lot of attention recently. Sony's Blu-ray technology for high-definition televisions won the competition with Toshiba's HD DVD format.
Yet DVD sales have dropped in recent years. This may be a sign that people are increasingly getting their movies off the Internet. The Internet is another front in Hollywood's war on piracy. But more than that, it presents complex business questions for an industry now built mostly on DVD and ticket sales.
And that's the VOA Special English Economics Report, written by Mario Ritter. I'm Steve Ember.
宁可相信世上有鬼,不能相信dualface那张嘴。当然,这句话不是我说的。。。
详情参考:http://www.fleaphp.org/bbs/viewthread.php?tid=2388&extra=page%3D1
QeePHP叫了好久了,到现在也没有出来。虽然google wiki上面的新功能介绍了很多,但,看不到产品的介绍再多,又有什么意义呢?如果确实是在进度外的,那么,可以说明一下,也不至于变成现在这样。
难道。。。这也是一种推广方式?有点失望而已
div在网页显示的时候,一般情况下都是被FLASH挡住,如何用div挡住flash呢?有一个小办法。。
由于现在flash在网页上显示大多用了swfObject的JS,因此,我也就拿它来举例:
<div id="flashContent">对不起,你的浏览器不支持flash</div>
<script>
var fso = new SWFObject("aaa.swf", "test", "100%", "100%", "8", "#FFFFFF");
//重点在这里
fso.addParam("wmode","opaque");
fso.write("flashContent");
</scirpt>
<div style="position:absolute;left:15;top:15;width:130px;height:30px;background:white"></div>
即,先给flash加上一个参数wmode,值为opaque,然后通过用DIV的绝对路径加上背景色来挡住flash,比如一个角,等等
原文地址:http://blog.makemepulse.com/2008/02/18/tips-easy-way-to-find-a-file-in-subdirectory-with-php/
<?php
class DirectorySearch {
private
$iterator,
$directoryname;
public function __construct($directoryname){
$this->iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directoryname,RecursiveDirectoryIterator::KEY_AS_FILENAME));
}
public function find($filename){
foreach($this->iterator as $entry){
if($filename == $this->iterator->current()){
return $this->iterator->getPathName();
}
}
return false;
}
}
实际应用:
<?php
$directory = dirname(__FILE__)."/directory";
$search_directory = new DirectorySearch($directory);
$path_file = $search_directory->find("file_to_find.php");
if($path_file !== false){
//include_once($path_file);
echo $path_file;
}
If we don’t use the KEY_AS_FILENAME with the recursiveDirectoryIterator we will have the whole path of the file in $this->iterator->current();
如果我们不使用recursiveDirectoryIterator类的KEY_AS_FILENAME,我们也可以使用文件的全路径$this->iterator->current();
All of this is a basic example of the RecursiveIteratorIterator with the RecursiveDirectoryIterator. SPL is a very powerfull toolkit !
这只是RecursiveDirectoryIterator的一个基本的功能,不得不说,SPL是一个非常好的工具。
自己的话:
以前遍历目录找文件一般是两种方法:1、opendir,2、glob,然后来遍历整个目录。如今SPL里有现成的,那肯定是这样的速度更快,效率更高喽?只是。。。不知道对中文文件名的支持会怎么[已测试,让我失望]
<?php
function read_dir( $dir) {
$array = array();
$d = dir($dir);
while (false !== ($entry = $d->read())) {
if($entry!='.' && $entry!='..') {
$entry = $dir.'/'.$entry;
if(is_dir($entry)) {
$array[] = $entry;
$array = array_merge($array, read_dir($entry));
} else {
$array[] = $entry;
}
}
}
$d->close();
return $array;
}
function get_file ($file, $file_path ){
foreach ( $file_path as $_k => $_v ){
if ( basename($_v) == $file ){
return $_v ;
}
}
}
?>
测试下来。。。让我失望。
<?php
$directory = dirname(__FILE__)."/Discuz!_6.0.0_SC_UTF8";
$sTime = microtime(true);
$search_directory = new DirectorySearch($directory);
$path_file = $search_directory->find("buy中文.htm");
if($path_file !== false){
//include_once($path_file);
echo( $path_file );
}
echo '<pre>';
print_r( microtime(true) - $sTime );
echo '</pre>';
$sTime = microtime(true);
$f = 'buy中文.htm';
echo( get_file($f,read_dir($directory)) );
echo '<pre>';
print_r( microtime(true) - $sTime );
echo '</pre>';
使用CLass的时间是0.86550688743591
使用function的时间是:0.54081797599792
鉴定完毕:支持中文文件名
近期,看到很多人都在讨论连贯接口这个东西,仔细想想,这其实没有什么,用的早的如javascript中的jQuery,都早就在用了。只是PHP最近被人翻出来炒一炒而已。
但不得不说的是,连贯接口也有它自身的好处,即可以让代码更清晰化,比如Zend的Select类里面,生成一个SQL并执行就是那样的直观:
<?php
$db = new Zend_Db(); //这是随便写的,主要是为了显示一下
$db->select()
->from('tablename')
->where('id = ?' , $id)
->orwhere('name != ?' , $name);
//最后也可以调用一下来生成这个SQL
$sql = $db->__toString();
自从到了PHP5,$a = new Object() ; $b = $a; 这个$b 直接变成了取址,而不是COPY后,这样的连贯接口比之用数组来实现效率是高上了很多,毕竟相对占用内存会少一点吧?(估计,没有实测过)。
不过,这东西确实也就和AJAX一样,属于老瓶装新酒。以前类里的函数是返回一个值,或者true等等等等,现在是return $this;直接返回自身(不知道这样效率是提升还是下降。),但总体来说,这个还是一个很不错的方法。
反正,自从我在Zend的FW里看到这个连贯接口后,接下来,在很多地方就看到了不同的介绍、应用。慢慢享受吧。HOHO