• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > php编程 >

长微博生成网站程序源码(php版)

来源: www.dedecms8.com 编辑:织梦吧 时间:2013-05-22点击:

长微博生成网站程序源码(php版):长微博生成器的PHP代码部分,这面代码是使用PHP编写的,主要是将文字转成长微博图片,当然运行长微博生成器是需要PHP和GD支持的。

具体代码:

 <?php


error_reporting(7);
define('ROOT', getcwd());
define('BASEDIR', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
if ($_POST['text']) {
    $ret = array ();
    $text = $_POST['text'];
    try {
        $ret['imgurl'] = text2img($text, (array)$_REQUEST['config']);
    } catch (Exception $e) {
        $ret['imgurl'] = print_r($e, true);
    }
    echo str_replace('\\/', '/', json_encode($ret));
    exit (0);
}
function text2img($text, $options = array ()) {
    $text .= "\n-------------------------------\n";
    $text .= "http://iscup.com";
    $rows = substr_count($text, "\n") + 1;
    $font_path = $options['fontfile'] ? $options['fontfile'] : ROOT . '/SIMSUN.TTC'; 
    if (!file_exists($font_path))
        throw new Exception(" 找不到字体文件:$font_path  ");
    $font_size = $options['fontsize'] ? $options['fontsize'] : 12;
    $padding = $options['padding'] ? $options['padding'] : 30;
    $row_plus_height = $options['row_plus_height'] ? $options['row_plus_height'] : 4;
    $border = 1;
    $im_width = 430;
    $im_height = ($row_plus_height + ($font_size * 4) / 3) * $rows + ($padding + $border) * 2;
    $im = @ imagecreatetruecolor($im_width, $im_height);
    if (!$im)
        throw new Exception("初始化图片失败,请检查 GD 配置");
    imagefilledrectangle($im, $border, $border, ($im_width -2 * $border), ($im_height -2 * $border), imagecolorallocate($im, 255, 255, 255));
    imagettftext($im, $font_size, 0, ($border + $padding), (($font_size * 4) / 3 + $border + $padding), imagecolorallocate($im, 0, 0, 0), $font_path, $text);
    $base_path = '/files';
    $base_filename = date("Y-m-d,H-i-s") . '.png';
    $short_filename = $base_path . '/' . $base_filename;
    $short_url = rtrim(BASEDIR, '/') . $short_filename;
    @ mkdir(ROOT . $base_path, 0777, true);
    $filename = ROOT . $short_filename;
    if (!imagepng($im, $filename)) {
        throw new Exception("创建图片时出错。");
    }
    @ imagedestroy($im);
    return $short_url;
}

?><!DOCTYPE HTML><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>长微博工具</title>
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.6.2/jquery.min.js"></script> 
</head>
<body>
<h1>长微博工具</h1>
<p><textarea name="text" id="text" rows="20" cols="60"></textarea></p>
<pre id="pre"></pre>
<p><a target="_blank" href="" id="url"></a></p>
<p><input type="button" id="format" value="格式化" /><input type="button" id="button" value="生成长微博" /> <br/><br/><br/><br/> <a href="http://changweibo.debake.com/" style="font-size:9px; color:#666; text-decoration:none">长微博</a></p>
<script type="text/javascript">
BIG_FONT_WIDTH = 44;

function f(v,w,c){
    c = 0;
    w = w || BIG_FONT_WIDTH;
    return v.replace(/[\S\s]/g,function(a){
        if(/[\r\n]/.test(a)) {
            c = -2;
            return "\r\n";
        }
        c += /[\x00-\xFF]/.test(a) ? 1 : 2;
        if(c>=w){
            c = 0;
            return "\r\n"+a;
        }
        return a;
    });
}
$(function(){
    $("#format").click(function(){$("#text").val(f($("#text").val()));});
    $("#button").click(function(){
        if($("#text").val().length<1){
            alert("无内容");
        } else {
            $.ajax({
                type:"POST",
                url:location.pathname,
                data:"text="+$("#text").val(),
                dataType:"json",
                success:function(m){
                    if(m.message)$("#pre").innerHTML(m.message);
                    if(m.imgurl)$("#url").attr("href", m.imgurl).text(m.imgurl);
                }
            });
        }
    });
});
</script>
</body>
</html>
            

也可以下载下面的压缩包:

长微博生成网站程序源码(php版).rar

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ