仓酷云

标题: PHP网页编程之一个塑料期货买卖法式剖析图法式(PHP+... [打印本页]

作者: 若相依    时间: 2015-2-4 00:31
标题: PHP网页编程之一个塑料期货买卖法式剖析图法式(PHP+...
虽说不上很好,但至少一般的数据操作,再在原有的SQL语言的基础上,用得还是可以的。法式   PHP+JAVA的法式
.....................
<P><P>Java Program:
/*
以下法式为余姚塑料城期货买卖数据的准时追踪剖析法式
是对数据的初步剖析,画图剖析则交给进一步的php法式来完成
本法式完成筹划于2005-5-17(友情日)
本法式可以作为K线图原始数据库
*/
import java.net.*;
import java.io.*;
import java.nio.*;
import java.text.*;
import java.util.*;
import java.util.Date;
import java.util.regex.*;
class suliao
  {
    final static int LINE=11;
    public static void main(String args[])
      {
        String url="http://www.ex-cp.com//yy_data/quot.txt";
        String url1="http://www.51kk7.com/Forum/User/CompanyInfo.aspx?companyId=0";
        for(;;)
        {
try
   {
     Thread.sleep(10000);
            String ori[][]=new String[LINE][14];
            int sta=0;
            //
     for(;;)
     {
     Thread.sleep(1000);
     Date date;
            SimpleDateFormat hua=new SimpleDateFormat("H m s");
     String time=hua.format(date=new Date());
     String[] hua1=time.split("\s");
     int i=Integer.parseInt(hua1[0])*3600+Integer.parseInt(hua1[1])*60+Integer.parseInt(hua1[2]);
     if(i<34100)
       break;
     if(i>39900)
       break;
            URL hp=new URL(url);
     URLConnection hpCon=hp.openConnection();
     int len=hpCon.getContentLength();
     InputStream input=hpCon.getInputStream();
     int c;
     StringBuffer hu=new StringBuffer("");
     String hu1[]=new String[LINE];
     int k=0;
     while(((c=input.read())!=-1)&&(--len>0))
       {
  if(c==10)
    {
      hu1[k]=hu.toString();
      hu=new StringBuffer("");
      k++;
    }
  else
    {
      char c1=(char)c;
      hu.append(c1);
    }
       }
     hu1[LINE-1]=hu.toString();
     String hu2[][]=new String[LINE][14];
     suliao he=new suliao();
     for(int k1=0;k1<LINE;k1++)
       hu2[k1]=he.zz(hu1[k1]);
     /*
     for(int k2=0;k2<10;k2++)
       {
  for(int k3=0;k3<14;k3++)
    System.out.print(hu2[k2][k3]+"\t");
  System.out.println("");
       }
     */
     int k2;
     if(sta==0)
       {
  ori=hu2;
  sta=1;
  for(k2=0;k2<LINE;k2++)
    he.writeinfo(hu2[k2],i);
       }
     else if(sta==1)
       {
  //he.writeinfo(hu2[0]);
  //let's start the compare program,go go go
  for(k2=0;k2<LINE;k2++)
    {
                    //System.out.println(hu2[k2][12]+"-"+ori[k2][12]);
      if(true)//he.zv(hu2[k2][12])!=he.zv(ori[k2][12]))
        {
          he.writeinfo(hu2[k2],i);
        }
    }
  ori=hu2;
       }
     }
     //
   }
catch(Exception e)
   {
     //System.out.println("wrong wrong wrong!!!");
     e.printStackTrace();
   }
}
      }
    public String[] zz(String a)
      {
String[] hello=a.split("\,");
for(int i=0;i<hello.length;i++)
   hello[i]=hello[i].trim();
return hello;
      }
    public int zv(String a)
      {
return Integer.parseInt(a);
      }
    public void writeinfo(String[] a,int i)//写入文本数据库中
      {
        Calendar cn=Calendar.getInstance();
        int mon=cn.get(Calendar.MONTH)+1;
        String dir=cn.get(Calendar.YEAR)+"-"+mon+"-"+cn.get(Calendar.DAY_OF_MONTH);
        String file=cn.get(Calendar.YEAR)+"-"+mon+"-"+cn.get(Calendar.DAY_OF_MONTH)+"/"+a[0]+".txt";
        File hu=new File(file);
        File ha=new File(dir);
        try
        {
        if(!ha.exists())
   ha.mkdir();
        if(!hu.exists())
   hu.createNewFile();
//Date date;
        //SimpleDateFormat hua=new SimpleDateFormat("H m s");
//String time=hua.format(date=new Date());
//String[] hua1=time.split("\s");
//int i=Integer.parseInt(hua1[0])*3600+Integer.parseInt(hua1[1])*60+Integer.parseInt(hua1[2]);
int k;
StringBuffer kv=new StringBuffer("");
for(k=0;k<14;k++)
   {
     kv.append(a[k]+"\t");
   }
kv.append(i+"\n");
System.out.println(kv.toString());
FileWriter rar=new FileWriter(hu,true);
rar.write(kv.toString());
rar.close();
}
catch(Exception e)
   {
     e.printStackTrace();
   }
      }
  }
PHP Program
<?
$GO=$_POST['GO'];
if(!$GO)
  $GO=$_GET['GO'];
if($GO==1)
  {
    $dir=$_POST['time'];
    $file1=$_POST['file'];
    $handle=opendir('./'.$dir);
    print"<form action=index.php method=post>
          <input type=hidden name=GO value=1>
   工夫:<input type=\"text\" value=\"$dir\" readonly name=\"time\" />
   种类:<select name=file onChange=\"this.form.submit()\">
   <option value=\"\">选择种类</option>";
    while ($file = readdir($handle)) {
    if(($file!=".")&&($file!=".."))
      {
$file=explode(".",$file);
$file=$file[0];
        echo "<option value=$file>$file</option>";
      }
    }
    print"</select></form>";
    closedir($handle);
    if($file1)
      {
print"<hr><img src=index.php?GO=2&time=$dir&file=$file1>";
      }
  }
elseif($GO==2)
  {
    set_time_limit(10);
    $time=$_GET['time'];
    $file=$_GET['file'].".txt";
    $file1=explode(".",$file);
    $str=$file1[0].':'.$time.' 绘制工夫('.date("Y-m-d H:i:s").')';
    $afile="./".$time."/".$file;
    $a=file($afile);
    for($i=0;$i<count($a);$i++)
      {
$b=explode("\t",$a[$i]);
if($i==0)
   {
     $p=0;
     $hu[$p][0]=$b[12];
     $hu[$p][1]=$b[13];
     $hu[$p][2]=$b[14];
     $p++;
   }
else
   {
     $b1=explode("\t",$a[$i-1]);
     if($b[12]!=$b1[12])
       {
  $dis=$b[12]-$b1[12];
  $hu[$p][0]=$dis;
  $hu[$p][1]=$b[13];
  $hu[$p][2]=$b[14];
  $p++;
       }
   }
      }
    /*
    echo"<table border=1><tr><td>成交量</td><td>报价</td><td>工夫</td></tr>";
    for($i=0;$i<$p;$i++)
      {
$h=floor($hu[$i][2]/3600);
$h1=$hu[$i][2]-$h*3600;
$m=floor($h1/60);
$s=$h1-$m*60;
$TIME=$h.':'.$m.':'.$s;
echo"<tr><td>".$hu[$i][0]."</td><td>".$hu[$i][1]."</td><td>".$TIME."</td></tr>";
      }
    echo"</table>";
    */
    //画图入手下手
    Header("Content-type: image/gif");
    $im=imagecreate(600,400);
    $backcolor=ImageColorAllocate($im,236,236,236);
    $linecolor1=ImageColorAllocate($im,255,0,0);//涨区间线,红线
    $linecolor2=ImageColorAllocate($im,0,255,0);//跌区间线,绿线
    $linecolor3=ImageColorAllocate($im,0,0,255);//平区间线,蓝线
    $linecolor4=ImageColorAllocate($im,247,198,166);//表格线
    $linecolor5=ImageColorAllocate($im,156,54,143);//报价曲线
    //$linecolor4=ImageColorAllocate($im,,,);
    imagefill($im,0,0,$backcolor);
    //标尺线入手下手(曲线局部)
    imageline($im,30,10,30,110,$linecolor1);
    imageline($im,30,110,30,210,$linecolor2);
    imageline($im,30,110,570,110,$linecolor3);
    imageline($im,570,110,570,10,$linecolor1);
    imageline($im,570,110,570,210,$linecolor2);
    imagestring($im,2,5,105,0,$linecolor3);
    imagestring($im,2,572,105,0,$linecolor3);
    for($i=0;$i<=4;$i++)
      {
$up="+".(5-$i)*40;
$down="-".($i+1)*40;
imageline($im,30,(10+20*$i),570,(10+20*$i),$linecolor4);
imagestring($im,2,5,(5+20*$i),$up,$linecolor1);
imagestring($im,2,572,(5+20*$i),$up,$linecolor1);
imageline($im,30,(130+20*$i),570,(130+20*$i),$linecolor4);
imagestring($im,2,5,(125+20*$i),$down,$linecolor2);
imagestring($im,2,572,(125+20*$i),$down,$linecolor2);
      }
    $t[0]="9:30";
    $t[1]="9:45";
    $t[2]="10:00";
    $t[3]="10:15";
    $t[4]="10:30";
    $t[5]="10:45";
    $t[6]="11:00";
    for($i=0;$i<=6;$i++)
      {
if(($i!=0)&&($i!=6))
   {
     imageline($im,(30+90*$i),10,(30+90*$i),210,$linecolor4);
   }
$t1=$t[$i];
imagestring($im,2,(15+90*$i),212,$t1,$linecolor3);
      }
    //标尺线入手下手(成交量局部)
    for($i=0;$i<=5;$i++)
      {
$ii=290+20*$i;
$iii=(5-$i)*10;
imageline($im,30,$ii,570,$ii,$linecolor4);
imagestring($im,2,5,$ii-5,$iii,$linecolor1);
imagestring($im,2,575,$ii-5,($iii*10),$linecolor3);
      }
    imageline($im,30,290,30,390,$linecolor4);
    imageline($im,570,290,570,390,$linecolor4);
    for($i=1;$i<=5;$i++)
      {
$ii=30+90*$i;
        imagedashedline($im,$ii,290,$ii,390,$linecolor4);
      }
    //标尺线停止
    //曲线绘制入手下手
    $a=file($afile);
    for($i=0;$i<count($a);$i++)
      {
$b=explode("\t",$a[$i]);
$b1=$b[13];
$b2=$b[14];
$x=($b2-34100)/10;
$y=-$b1*0.5+110;
if($i==0)
   {
     $x1=$x;
     $y1=$y;
   }
else
   {
     imageline($im,$x,$y,$x1,$y1,$linecolor5);
     $x1=$x;
     $y1=$y;
   }
      }
    //成交量绘制入手下手
    $sum=0;
    for($i=0;$i<$p;$i++)
      {
$y=390-2*$hu[$i][0];
$x=($hu[$i][2]-34100)/10;
imageline($im,$x,390,$x,$y,$linecolor1);
$sum+=$hu[$i][0];
$ysum=390-0.2*$sum;
if($i==0)
   {
     $x1=$x;
     $y1=$ysum;
   }
else
   {
     imageline($im,$x1,$y1,$x,$y1,$linecolor3);
     imageline($im,$x,$y1,$x,$ysum,$linecolor3);
     $x1=$x;
     $y1=$ysum;
   }
      }
    imageline($im,$x1,$y1,570,$y1,$linecolor3);
    //结算价钱曲线绘制
    $sum=0;
    $allprice=0;
    for($i=0;$i<$p;$i++)
      {
$sum+=$hu[$i][0];
$allprice+=$hu[$i][1]*$hu[$i][0];
if($sum==0)$nowprice=0;
else
   $nowprice=$allprice/$sum;
        $x=($hu[$i][2]-34100)/10;
$y=-$nowprice*0.5+110;
if($i==0)
   {
     $x1=$x;
     $y1=$y;
   }
else
   {
     imageline($im,$x1,$y1,$x,$y1,$linecolor1);
     imageline($im,$x,$y1,$x,$y,$linecolor1);
     $x1=$x;
     $y1=$y;
   }
      }
    imageline($im,$x1,$y1,570,$y1,$linecolor1);
    //绘制停止
    //************图片注释局部入手下手*******************//
    $str0=iconv("GB2312","UTF-8",$str);
    $str1=iconv("GB2312","UTF-8","上图红线暗示结算价钱线,紫线暗示价钱曲线,下图红线暗示事先成交量,蓝线暗示总成交量");
    imagettftext($im,10,0,30,240,$linecolor1,"D:/winnt/Fonts/simhei.ttf",$str0);
    imagettftext($im,10,0,30,255,$linecolor1,"D:/winnt/Fonts/simhei.ttf",$str1);
    //************图片注释局部停止*******************//
    ImageGif($im);
    ImageDestroy($im);
  }
else
  {
    //工夫从2005-05-24入手下手
    print"<form action=index.php method=post>
   <input type=hidden name=GO value=1>
          选择工夫:
   <select name=time>";
    for($i=0;$i<100;$i++)
      {
$time1=date("Y-n-j",mktime(0,0,0,date("m"),date("d")-$i,date("Y")));
$time2=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$i,date("Y")));
if(is_dir($time1))
   print"<option value=\"$time1\">$time2</option>
         ";
      }
    print"</select>
   <p>
   <input type=submit name=submit value=提交>
          </form>";
  }
?>
  看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?
作者: 谁可相欹    时间: 2015-2-4 13:17
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 乐观    时间: 2015-2-9 23:24
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 若天明    时间: 2015-2-21 20:49
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 变相怪杰    时间: 2015-2-22 11:31
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 小妖女    时间: 2015-3-2 15:09
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 海妖    时间: 2015-3-8 12:31
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 第二个灵魂    时间: 2015-3-11 21:29
本文当是我的笔记啦,遇到的问题随时填充
作者: 冷月葬花魂    时间: 2015-3-17 16:11
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 山那边是海    时间: 2015-3-17 19:09
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 仓酷云    时间: 2015-3-23 17:15
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 莫相离    时间: 2015-3-30 10:27
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 若相依    时间: 2015-3-31 20:26
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 深爱那片海    时间: 2015-4-1 08:10
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 兰色精灵    时间: 2015-4-5 14:10
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 爱飞    时间: 2015-4-24 01:27
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 因胸联盟    时间: 2015-4-24 11:34
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 小魔女    时间: 2015-5-4 19:21
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 愤怒的大鸟    时间: 2015-6-4 12:30
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 透明    时间: 2015-6-8 15:00
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2