按日期归档:2013 年 7 月 30 日

这样给女生讲解金融知识

1- 爱马仕商场直接销售是一级市场(Primary Market),你去购买再销售是二级市场(Secondary market)。

2- 期货Futures:你预定一款givenchy手包,销售通知你到货了,你去购买再销售叫做实物交割(physical settlement),你发现店里面现货比你预定价格涨了不少,你决定把你预定的货卖给同行你只赚个差价,这叫做现金交割(Cash settlement)。一个包本来你需要花100买下然后卖掉才赚10元,结果你只花10元预定后直接卖给同行赚差价10元,这就是杠杆交易(leverage)。

你购买手表,销售叫你先交500元定金看能不能定到,这个在金融中间可以叫margin(保证金),结果Sales定到了,叫你按照30%交全部定金,交易中叫做Margin-Call(增补按金)。

3- 空头交易(Short Sale):你客人需要一款chanel2.55, 你没有去买,直接从同行那里调货一个卖给客人,说好过几天还一个一样滴,当时汇率是*9,过了几天汇率降到*8,你结果以更便宜的价格买了一个2.55还给同行。

4- 止损 (Stop Losses):你去年发现celine很好卖,买个几个屯着,结果今年卖不掉,只有降价处理。

5- 定向增发(Private Placement):你很喜欢YSL手包,结果发现每次去都没有货,但是来了个代购一次就都拿了20个。YSL发现手包卖得很好,于是推出其它品种,并且调高价格,结果其品牌影响力一般,造成大量滞销,结果只有调低破发,这是Subprime的雏形。

6- 你去买Lady Dior,结果要你配个晚宴包才卖给你,这就是衍生品(Derivative)。 你的Lady Dior包的价格是Intrinsic value(内在价值),你的晚宴包卖出挣了钱叫做(In-the-money), 平价卖出( at the money),亏了钱叫做(Out-of-the-money)。

7- 市场监管Regulation,chanel本来一个月可以买一个,结果变成了三个月一个,本来可以护照复印件买,后来变成了需要护照原件。如果过了一段时间护照复印件又可以购买了,英国首相2008年承认叫做监管失利。

8- 量化宽松Quantative Easing:本来前年巴黎世家卖得很好,就规定了一本护照一个,后来突然就没有人买了,没有办法就放宽限制可以任意购买。基本面分析(Fundamental Analysis)央行宣布基本利率维持不变和奢侈品宣布今年不涨价一样都属于利好消息。

9- 垃圾债卷Junk Bond: Coach大力宣传,占据了巴黎春天百货最好的位置,结果生意太差,只有把展位一分为二给了Fendi,这叫债务重组 restructure,如果有一天Fendi彻底把Coach另外一半的展柜一起接管了,叫借壳上市(Back-door listing)。

10- Carry Trading利差交易:利差交易主要来源于从日本市场借贷比较低利率的日元,换成其他流通货币放在较高利率的市场套现,代购本身就是一个利差交易,当欧元高于8.5兑换的时候,你的利差交易价值也没有了,同样日元兑换美元偏低的时候利差交易也是同样存在风险。

11- 你根据爱马仕的皮质,颜色进行自由定价。在金融上叫做mark-to-market , 你通过淘宝交易叫做Exchange, 然而你决定面交叫做场外交易(Over the counter OTC)。 淘宝的浏览量金融叫做liquidity, 你选择一个交易所交易的原因是看这个交易所的流通性好不好,你选择淘宝的原因也是一样。你提现2小时到账叫做T+0, 第二天到账叫做T+1.

12- 你想买一个包,销售由于包很紧俏不想卖给你,但是告诉你,你买点衣服我可以卖给你,这就是结构性产品(structure product)。

13- 你做手表,因为贵重叫做commodity market(金属交易市场), 你做皮具叫做Bond market (债卷市场),基本上风险相对较小,你做衣服,叫做Currency (汇率市场)主要变化大,如果这些产品都做,属于Stock Market其风险和利润并存。

14- 我写这篇文章叫做strategist, 你不署名转发叫做分析师(research ), 你去购买叫做交易员Trader (Front Office), 你客服根据你指示完成交易叫做Middle Office, 打包发货叫做Back Office. 顺风起到Clearing House(交割中心)的作用:收取服务费用,协助交割。

15- 如果Front Office, Middle Office, Back Office你一个人完成,就是典型的中国散户

常用的PHP采集

//取图片
preg_match_all('/<div class=\"conlist\">(.*?)<div class="ft">/is',$content,$imgcontent);
$content=$imgcontent[0][0];
preg_match_all('/<div class=\"pic\"\>(.*?)<\/div\>/is',$content,$imgcontent);
$imgcontent=$imgcontent[0];
if($imgcontent){
	$i=0;
    foreach($imgcontent as $value){	
		preg_match('/<img src=\"(.*?)\" alt=/is',$value,$imghref);
		$product[$i][img]=$imghref[1];
	    $i++;
	}
}

//取产品介绍
preg_match_all('/<br clear=\"all\"\/>(.*?)<a href=\"/is',$content,$infocontent);
$infocontent=$infocontent[1];
if($infocontent){
	$i=0;
    foreach($infocontent as $value){
		$product[$i][info]=trim($value);
	    $i++;
	}
}

//取产品名称
preg_match_all('/class=\"title\" id=\"proName_(.*?)\">(.*?)<\/a>/is',$content,$namecontent);
$infocontent=$namecontent[2];
if($infocontent){
	$i=0;
    foreach($infocontent as $value){
		$product[$i][name]=trim($value);
	    $i++;
	}
}

//取产品价格
preg_match_all('/<span class=\"price\">(.*?)<\/span>/is',$content,$pricecontent);
$pricecontent=$pricecontent[1];
//print_r($pricecontent);
if($pricecontent){
	$i=0;
    foreach($pricecontent as $value){
		preg_match('/<b >(.*?)<\/b>/is',$value,$imgpai);
		$product[$i][price]=$imgpai[1];
	    $i++;
	}
}

 

ECshop前台分页

代码如下:

---------------------------------------在要分页的sql上面加上如下代码 ----------------------------------------------------

$page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1;
$record_count = $db->getOne('总数的sql语句');
//例如 $record_count = $db->getOne('select count(*) from '.$ecs->table('goods'));
$pager = get_pager('php页面', php页面的参数 , $record_count, $page,每页显示几个,分页样式);
//例如 $pager = get_pager('test.php', array('act' => $_REQUEST['act'],'id' => $_REQUEST['id']), $record_count, $page,5,0);
$smarty->assign('pager', $pager);

//分页的sql语句

$sql= 分页sql语句.' LIMIT '.$pager['start'].','.$pager['size'];

//例如 $sql= 'select count(*) from '.$ecs->table('goods').' LIMIT '.$pager['start'].','.$pager['size'];

------------------------------------------------------------------get_pager 方法----------------------------------------------

function get_pager($url, $param, $record_count, $page = 1, $size = 10, $styleid=1)
{
    $size = intval($size);
    if ($size < 1)
    {
        $size = 10;
    }

    $page = intval($page);
    if ($page < 1)
    {
        $page = 1;
    }

    $record_count = intval($record_count);

    $page_count = $record_count > 0 ? intval(ceil($record_count / $size)) : 1;
    if ($page > $page_count)
    {
        $page = $page_count;
    }
    /* 分页样式 */
    $pager['styleid'] = $styleid;

    $page_prev = ($page > 1) ? $page - 1 : 1;
    $page_next = ($page < $page_count) ? $page + 1 : $page_count;

    /* 将参数合成url字串 */
    $param_url = '?';
    foreach ($param AS $key => $value)
    {
        $param_url .= $key . '=' . $value . '&';
    }

    $pager['url']          = $url;
    $pager['start']        = ($page -1) * $size;
    $pager['page']         = $page;
    $pager['size']         = $size;
    $pager['record_count'] = $record_count;
    $pager['page_count']   = $page_count;

    if ($pager['styleid'] == 0)
    {
        $pager['page_first']   = $url . $param_url . 'page=1';
        $pager['page_prev']    = $url . $param_url . 'page=' . $page_prev;
        $pager['page_next']    = $url . $param_url . 'page=' . $page_next;
        $pager['page_last']    = $url . $param_url . 'page=' . $page_count;
        $pager['array'] = array();
        for ($i = 1; $i <= $page_count; $i++)
        {
            $pager['array'][$i] = $i;
        }
    }
    else
    {
        $_pagenum = 10;     // 显示的页码
        $_offset = 2;       // 当前页偏移值
        $_from = $_to = 0; // 开始页, 结束页
        if($_pagenum > $page_count)
        {
            $_from = 1;
            $_to = $page_count;
        }
        else
        {
            $_from = $page - $_offset;
            $_to = $_from + $_pagenum - 1;
            if($_from < 1)
            {
                $_to = $page + 1 - $_from;
                $_from = 1;
                if($_to - $_from < $_pagenum)
                {
                    $_to = $_pagenum;
                }
            }
            elseif($_to > $page_count)
            {
                $_from = $page_count - $_pagenum + 1;
                $_to = $page_count;
            }
        }
        $url_format = $url . $param_url . 'page=';
        $pager['page_first'] = ($page - $_offset > 1 && $_pagenum < $page_count) ? $url_format . 1 : '';
        $pager['page_prev'] = ($page > 1) ? $url_format . $page_prev : '';
        $pager['page_next'] = ($page < $page_count) ? $url_format . $page_next : '';
        $pager['page_last'] = ($_to < $page_count) ? $url_format . $page_count : '';
        $pager['page_kbd'] = ($_pagenum < $page_count) ? true : false;
        $pager['page_number'] = array();
        for ($i=$_from;$i<=$_to;++$i)
        {
            $pager['page_number'][$i] = $url_format . $i;
        }
    }
    $pager['search'] = $param;

    return $pager;
}

------------------------------------------------------ html 分页代码 ---------------------------------------------------------

<!--翻页 start-->
<form name="selectPageForm" action="{$smarty.server.PHP_SELF}" method="get">
<!-- {if $pager.styleid eq 0 } -->
<div id="pager">
总计{$pager.record_count}个记录,共{$pager.page_count} 页。 <span> <a href="{$pager.page_first}">{$lang.page_first}</a> <a href="{$pager.page_prev}">{$lang.page_prev}</a> <a href="{$pager.page_next}">{$lang.page_next}</a> <a href="{$pager.page_last}">{$lang.page_last}</a> </span>
    <!--{foreach from=$pager.search key=key item=item}-->
      {if $key eq 'keywords'}
          <input type="hidden" name="{$key}" value="{$item|escape:decode_url}" />
        {else}
          <input type="hidden" name="{$key}" value="{$item}" />
      {/if}
    <!--{/foreach}-->
    <select name="page" id="page" onchange="selectPage(this)">
    {html_options options=$pager.array selected=$pager.page}
    </select>
</div>
<!--{else}-->
<div id="pager" class="pagebar">
<span class="f_l f6" style="margin-right:10px;">总计<b>{$pager.record_count}</b> 个记录</span>
<!-- {if $pager.page_first} --><a href="{$pager.page_first}">{$lang.page_first} ...</a><!-- {/if} -->
<!-- {if $pager.page_prev} --><a class="prev" href="{$pager.page_prev}">{$lang.page_prev}</a><!-- {/if} -->
<!-- {if $pager.page_count neq 1} -->
    <!--{foreach from=$pager.page_number key=key item=item}-->
      <!-- {if $pager.page eq $key} -->
      <span class="page_now">{$key}</span>
      <!-- {else} -->
      <a href="{$item}">[{$key}]</a>
      <!-- {/if} -->
    <!--{/foreach}-->
<!-- {/if} -->
<!-- {if $pager.page_next} --><a class="next" href="{$pager.page_next}">{$lang.page_next}</a><!-- {/if} -->
<!-- {if $pager.page_last} --><a class="last" href="{$pager.page_last}">...{$lang.page_last}</a><!-- {/if} -->
<!-- {if $pager.page_kbd} -->
    <!--{foreach from=$pager.search key=key item=item}-->
      {if $key eq 'keywords'}
          <input type="hidden" name="{$key}" value="{$item|escape:decode_url}" />
        {else}
          <input type="hidden" name="{$key}" value="{$item}" />
      {/if}
    <!--{/foreach}-->
    <kbd style="float:left; margin-left:8px; position:relative; bottom:3px;"><input type="text" name="page" onkeydown="if(event.keyCode==13)selectPage(this)" size="3" class="B_blue" /></kbd>
    <!-- {/if} -->
</div>
<!-- {/if} -->
</form>
<!--翻页 END-->

 

PHP生成文字水印代码

<?php

setWater('img/999.jpg','',"for:小梅 为什么放弃治疗!",'105,0,0',2,'FZLBJW.TTF','text',24);
/*
$imgSrc:目标图片,可带相对目录地址,
$markImg:水印图片,可带相对目录地址,支持PNG和GIF两种格式,如水印图片在执行文件mark目录下,可写成:mark/mark.gif
$markText:给图片添加的水印文字
$TextColor:水印文字的字体颜色
$markPos:图片水印添加的位置,取值范围:0~9
0:随机位置,在1~8之间随机选取一个位置
1:顶部居左 2:顶部居中 3:顶部居右 4:左边居中
5:图片中心 6:右边居中 7:底部居左 8:底部居中 9:底部居右
$fontType:具体的字体库,可带相对目录地址
$markType:图片添加水印的方式,img代表以图片方式,text代表以文字方式添加水印
$fontSize: 字体大小
*/
function setWater($imgSrc,$markImg,$markText,$TextColor,$markPos,$fontType,$markType,$fontSize)
{
    $srcInfo = @getimagesize($imgSrc);
    $srcImg_w = $srcInfo[0];
    $srcImg_h = $srcInfo[1];
    switch ($srcInfo[2]) 
    { 
        case 1: 
            $srcim =imagecreatefromgif($imgSrc); 
            break; 
        case 2: 
            $srcim =imagecreatefromjpeg($imgSrc); 
            break; 
        case 3: 
            $srcim =imagecreatefrompng($imgSrc); 
            break; 
        default: 
            die("不支持的图片文件类型"); 
            exit; 
    }

    if(!strcmp($markType,"img"))
    {
        if(!file_exists($markImg) || empty($markImg))
        {
            return;
        }

        $markImgInfo = @getimagesize($markImg);
        $markImg_w    = $markImgInfo[0];
        $markImg_h    = $markImgInfo[1];

        if($srcImg_w < $markImg_w || $srcImg_h < $markImg_h)
        {
            return;
        }

        switch ($markImgInfo[2]) 
        { 
            case 1: 
                $markim =imagecreatefromgif($markImg); 
                break; 
            case 2: 
                $markim =imagecreatefromjpeg($markImg); 
                break; 
            case 3: 
                $markim =imagecreatefrompng($markImg); 
                break; 
            default: 
                die("不支持的水印图片文件类型"); 
                exit; 
        }

        $logow = $markImg_w;
        $logoh = $markImg_h;
    }

    if(!strcmp($markType,"text"))
    {
        // $fontSize = 16;
        if(!empty($markText))
        {
            if(!file_exists($fontType))
            {
                return;
            }
        }
        else {
            return;
        }

        $box = @imagettfbbox($fontSize, 0, $fontType,$markText);
        $logow = max($box[2], $box[4]) - min($box[0], $box[6]);
        $logoh = max($box[1], $box[3]) - min($box[5], $box[7]);
    }

    if($markPos == 0)
    {
        $markPos = rand(1, 9);
    }

    switch($markPos)
    {
        case 1:
            $x = +5;
            $y = +5;
            break;
        case 2:
            $x = ($srcImg_w - $logow) / 2;
            $y = +5+45;
            break;
        case 3:
            $x = $srcImg_w - $logow - 5;
            $y = +15;
            break;
        case 4:
            $x = +5;
            $y = ($srcImg_h - $logoh) / 2;
            break;
        case 5:
            $x = ($srcImg_w - $logow) / 2;
            $y = ($srcImg_h - $logoh) / 2;
            break;
        case 6:
            $x = $srcImg_w - $logow - 5;
            $y = ($srcImg_h - $logoh) / 2;
            break;
        case 7:
            $x = +5;
            $y = $srcImg_h - $logoh - 5;
            break;
        case 8:
            $x = ($srcImg_w - $logow) / 2;
            $y = $srcImg_h - $logoh - 5;
            break;
        case 9:
            $x = $srcImg_w - $logow - 5;
            $y = $srcImg_h - $logoh -5;
            break;
        default: 
            echo ("此位置不支持"); 
            exit;
    }

    $dst_img = @imagecreatetruecolor($srcImg_w, $srcImg_h);

    imagecopy ( $dst_img, $srcim, 0, 0, 0, 0, $srcImg_w, $srcImg_h);

    if(!strcmp($markType,"img"))
    {
        imagecopy($dst_img, $markim, $x, $y, 0, 0, $logow, $logoh);
        imagedestroy($markim);
    }

    if(!strcmp($markType,"text"))
    {
        $rgb = explode(',', $TextColor);

        $color = imagecolorallocate($dst_img, $rgb[0], $rgb[1], $rgb[2]);
        imagettftext($dst_img, $fontSize, 0, $x, $y, $color, $fontType,$markText);
    } 
    switch ($srcInfo[2]) 
    { 
        case 1:
            // imagegif($dst_img, $imgSrc); 
			header("content-type: image/gif");
            imagegif($dst_img); 
            break; 
        case 2: 
            // imagejpeg($dst_img, $imgSrc); 
			header("content-type: image/jpeg");
            imagejpeg($dst_img); 
            break; 
        case 3: 
            // imagepng($dst_img, $imgSrc); 
			header("content-type: image/png");
            imagepng($dst_img); 
            break;
        default: 
            die("不支持的水印图片文件类型"); 
            exit; 
    }

    imagedestroy($dst_img);
    imagedestroy($srcim);
}

?>