ZXCHART的PHP 函数封装

本文介绍了一个使用Flash生成图表的PHP脚本实现方法。该脚本可以根据提供的数据和样式参数生成自定义的交互式图表,并提供了数据转换和默认样式设置等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



function zxchart($fdata,$style=null,$path=null){
	if (empty($fdata)) {
		echo "未指定数据文件" ;return ;
	}
	
	$chart_baseurl = empty($path)? FLEA::getAppInf('public_url') . '/chart':$path;
	$fprogram = "{$chart_baseurl}/zxchart.swf" ;	
	if (!empty($style) && vefityResExist(FLEA::getAppInf('public_path'),"/chart/style/{$style}.stl")){
		$fstyle = "{$chart_baseurl}/style/{$style}.stl" ;		
	}else 
		$fstyle = "{$chart_baseurl}/style/pie2.stl" ;
		
	$_reallink = sprintf("%s?datafile=%s&stylefile=%s",$fprogram,$fdata,$fstyle);
	
	$_fmt = '
<object classid = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="300">
<param name=movie value="%s">
<param name=quality value=high>
<embed src ="%s" quality=high type="application/x-shockwave-flash" width="400" height="300">
</embed>
</object>	
	' ;	
	echo sprintf($_fmt,$_reallink,$_reallink);
}

function UTF82GBK($text=null){
	if (!empty($text) && function_exists('iconv')){
		return iconv("UTF-8", "GBK", $text);
	}
	return $text ;
}

function zxchart_data($cols_headers,$rows_data,$toptext='Top',$btmtext='Bottom',
	$lfttext='Left',$rightext='Right')
{
	define('ZXCHART_DATA_SL','\n');//定义换行符,必须是windows风格的
	echo UTF82GBK(sprintf('&tTText=%s&tBText=%s&tLText=%s&tRText=%s',$toptext,$btmtext,
		$lfttext,$rightext));
		
	$cols_headers = (empty($cols_headers))?array('','J','Q'):$cols_headers;	
	$cols_headers = implode(";", $cols_headers);
	
	echo UTF82GBK("&title={$cols_headers};\n") ;
	
	if (!is_array($rows_data))
		return ;
	$i=1;	
	while(!empty($rows_data)){
		$row = array_shift($rows_data);
		if (!empty($row)&&is_array($row)){
			$s = "&data{$i}=" . implode(";", $row) . ";";
			echo UTF82GBK($s).ZXCHART_DATA_SL;	
		}
		$i++;		
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值