failed to load resource under Chrome

今天出现下午出现了件奇怪的事。一小时前还能访问的,网速降了后不知道为什么就一直在chrome里提示这个异常。

“failed to load resource under Chrome”

清了多次缓存也一样。

 经过检查,发现是easyui的脚本只加载了8成左右,后面部分缺失了。不是网其它朋友遇到的那样的问题。重启了路由,网速提上来就好了。

现在引出来一个问题。

php很多项目在引用的文件,文件前面会判断下某个常量来表示下是否装载了核心类。

然后像js这种,特别是大类库是不是得在文件尾追加点标志变量,当检测不到这些变量时做下提示是否好一定?见仁见智了。

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

DZ IIS WRITE

今天处理dz的时候碰到一个问题

isapi_rewrite3 配合dz2.5(gbk)的时候
RewriteRule ^(.*)/space-(username|uid)-(.+).html(?(.*))*$ $1/home.php?mod=space&$2=$3&$5 [QSA,NU,PT,L]

这个配置里,$5是匹配不到的。文件编码也没有问题。经过不断尝试。发现得在后面加多几个参数变量解决。下面为详细介绍的链接.

http://www.7aidc.com/help/helpdtl.asp?nid=108

IIS正则

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

DZ门户模板更新问题

最近处理dz出现了一件奇怪的事,模板的内页更新正常,但是不部分分类的页面没有更新。

因为使用的是同一个模板页面。但是不同分类的页面竟然不一样。

第一个想法是dz的这套机制里存在缓存,然后更新过程中因为权限或者其它问题导致部分不成功。So,最笨的方法是检查生成方式。然后去找。

但然后,其它猜猜都知道页面一定在data目录,

扫了下 diy 和telmplate两目录,逐一尝试下。

最后确定了修改目录是  /data/diy/template/singcere_note/portal/

该目录为不同分类生成不同的模板页面。只要将更新有问题的部分删除,重新生成即可。

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

PHP 调试和异步调试工具类

function gddebug() {
	$arrays = func_get_args ();
	echo "n<pre>";
	foreach ( $arrays as $value ) {
		if (is_array ( $value ) || is_object ( $value )) {
			ksort ( $value );
			echo htmlspecialchars ( print_r ( $value, true ) ) . "rn";
		} elseif (is_string ( $value )) {
			echo "string(" . strlen ( $value ) . ") "" . htmlspecialchars ( $value ) . ""rn";
		} else {
			var_dump ( $value );
		}
	}
	echo "</pre>";
}

 

异步调试工具类

function gdsyndebug() {
	$arrays = func_get_args ();
	$filename = dirname ( __FILE__ ) . "/gdsyndebug.txt";
	file_put_contents ( $filename, "===================" . date ( "Y-m-d H:i:s" ) . "====n", FILE_APPEND );
	file_put_contents ( $filename, 'url http://' . $_SERVER ['HTTP_HOST'] . $_SERVER ['PHP_SELF'] . "n", FILE_APPEND );
	foreach ( $arrays as $value ) {
		if (is_array ( $value ) || is_object ( $value )) {
			ksort ( $value );
			file_put_contents ( $filename, print_r ( $value, true ) . "n", FILE_APPEND );
		} elseif (is_string ( $value )) {
			file_put_contents ( $filename, "string(" . strlen ( $value ) . ") "" . $value  . ""n", FILE_APPEND );
		} else {
			file_put_contents ( $filename, var_export ( $value, true ) . "n", FILE_APPEND );
		}
	}
}

 

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

PclZip 操作及文件授权+设置用户,用户组

经常出现这种窘境,在公司上传东西的时候,需要传个easyui目录..再加个yiiframework哩。而且服务器没有linux的操作权限,zip的扩展也是没有的时候…如果以上都不是问题就跳出去吧呵呵。

http://www.phpconcept.net/pclzip/user-guide/18

这时肯定要将代码压缩下,传压缩包再通过代码去解压。

	
	//普通的打包操作
	$path = dirname ( __FILE__ ) . '/fw.zip';//目标zip
	require_once (dirname ( __FILE__ ) . '/pclzip.lib.php');
	$archive = new PclZip ( $path );
	$archive->create ( "fw" );//当前需要打包的目录
	if ($archive->extract () == 0) {
		die ( "Error : " . $archive->errorInfo ( true ) );
	}

 

	//打包指定目录,然后移除目录前缀
	$path = dirname ( __FILE__ ) . '/fw.zip';
	require_once (dirname ( __FILE__ ) . '/pclzip.lib.php');
	$archive = new PclZip ( $path );
	$archive->add ( "C:/ooxx/ooxx/htdocs/test/zip/fw", PCLZIP_OPT_REMOVE_PATH, "/ooxx/ooxx/htdocs/test/zip/" ); // 压缩);
	if ($archive->extract () == 0) {
		die ( "Error : " . $archive->errorInfo ( true ) );
	}
	//普通的解包
	$path = dirname ( __FILE__ ) . '/fw.zip';
	require_once (dirname ( __FILE__ ) . '/pclzip.lib.php');
	$archive = new PclZip ( $path );
	if ($archive->extract () == 0) {
		die ( "Error : " . $archive->errorInfo ( true ) );
	}

看一送一,因为解压后的特殊原因,权限是只有应用的,如果ftp操作肯定是不行滴

//迭代授权,这样就绝配了。
function chmod_R($path, $filemode) {
	if (! is_dir ( $path ))
		return chmod ( $path, $filemode );

	$dh = opendir ( $path );
	while ( $file = readdir ( $dh ) ) {
		if ($file != '.' && $file != '..') {
			$fullpath = $path . '/' . $file;
			if (! is_dir ( $fullpath )) {
				if (! chmod ( $fullpath, $filemode ))
					return FALSE;
			} else {
				if (! chmod_R ( $fullpath, $filemode ))
					return FALSE;
			}
			// echo $fullpath."<br>";
		}
	}
	closedir ( $dh );

	if (chmod ( $path, $filemode ))
		return TRUE;
	else
		return FALSE;
}

 

//用户和用户组的设置
function recurse_chown_chgrp($mypath, $uid, $gid) {
	$d = opendir ( $mypath );
	while ( ($file = readdir ( $d )) !== false ) {
		if ($file != "." && $file != "..") {
			$typepath = $mypath . "/" . $file;
			// print $typepath. " : " . filetype ($typepath). "<BR>" ;
			if (filetype ( $typepath ) == 'dir') {
				recurse_chown_chgrp ( $typepath, $uid, $gid );
			}
			chown ( $typepath, $uid );
			chgrp ( $typepath, $gid );
		}
	}
}

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

AR 使用其它数据库进行操作

config.php里加多配置

'db2'=>array(
			'class'=>'CDbConnection',
		),

AR中覆盖方法,设置其它的数据库

特别需要注意 $odb这个独立的处理,否则在连续操作的过层中,会有数据库链接变量冲突的相关问题。

	public  static $odb=null;
        public function getDbConnection()
	{
		if(self::$odb!==null)
			return self::$odb;
		else
		{
			self::$odb=Yii::app()->getComponent('db2');
			if(self::$odb instanceof CDbConnection)
				return self::$odb;
			else
				throw new CDbException(Yii::t('yii','Active Record requires a "db" CDbConnection application component.'));
		}
	}

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

百度编辑器小记

不用多说了,直接上链接。

http://ueditor.baidu.com

强悍的截图,对于有需要,但又没资源做这类插件的…

配置相关:

相对于常见mvc.脚本的引用通常不是同级目录的,编辑的配置需要留意的地方有

1.ueditoreditor_api.js

baseURL//脚本的引用

2.ueditor/editor_config.js

window.UEDITOR_HOME_URL //插件目录配置

snapscreenHost: location.href.replace(/^http://([^/]+)/.*/,'$1') //截屏的服务器配置。
langPath:URL +"lang/" //语言包,默认被注释
themePath:URL +"themes/" //样式包,默认被注释

 

 

 

 

网页黑白

html{ filter: grayscale(100%); -webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter:
grayscale(100%); filter: url("data:image/svg+xml;utf8,
<svg xmlns='http://www.w3.org/2000/svg'>
	<filter id='grayscale'>
	<feColorMatrix type= 'matrix' values= '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>
#grayscale");
filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter: grayscale(1); } #grayscale");
filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter: grayscale(1); }