php在线生成ico文件的代码

复制代码 代码如下:


<?PHP
$output = "";
if(isset($_GET['action'])&&$_GET['action'] == 'make'){
    if(isset($_FILES['upimage']['tmp_name']) && $_FILES['upimage']['tmp_name'] && is_uploaded_file($_FILES['upimage']['tmp_name'])){
        if($_FILES['upimage']['type']>210000){
            echo "你上传的文件体积超过了限制 最大不能超过200K";
            exit();
        }
        $fileext = array("image/pjpeg","image/gif","image/x-png");
        if(!in_array($_FILES['upimage']['type'],$fileext)){
            echo "你上传的文件格式不正确 仅支持 jpg,gif,png";
            exit();
        }
        if($im = @imagecreatefrompng($_FILES['upimage']['tmp_name']) or $im = @imagecreatefromgif($_FILES['upimage']['tmp_name']) or $im = @imagecreatefromjpeg($_FILES['upimage']['tmp_name'])){
            $imginfo = @getimagesize($_FILES['upimage']['tmp_name']);
            if(!is_array($imginfo)){
                echo "图形格式错误!";
            }
            switch($_POST['size']){
                case 1;
                    $resize_im = @imagecreatetruecolor(16,16);
                    $size = 16;
                    break;
                case 2;
                    $resize_im = @imagecreatetruecolor(32,32);
                    $size = 32;
                    break;
                case 3;
                    $resize_im = @imagecreatetruecolor(48,48);
                    $size = 48;
                    break;
                default;
                    $resize_im = @imagecreatetruecolor(32,32);
                    $size = 32;
                    break;
            }
            imagecopyresampled($resize_im,$im,0,0,0,0,$size,$size,$imginfo[0],$imginfo[1]);
            include "phpthumb.ico.php";
            $icon = new phpthumb_ico();
            $gd_image_array = array($resize_im);
            $icon_data = $icon->GD2ICOstring($gd_image_array);
            $filename = "temp/".date("Ymdhis").rand(1,1000).".ico";
            if(file_put_contents($filename, $icon_data)){
                $output = "生成成功!请点右键->另存为 保存到本地<br><a href=\"".$filename."\" target=\"_blank\">点击下载</a>";
            }

        }else{
            echo "生成错误请重试!";
        }

    }    

}
?>
<html>
<head>
<title>ICO图标在线转换</title>
<style>
body{background-color:#fff;color:#000000;font-family:arial;margin:30px;font-size:12px;}
table{border:0}
td{line-height:16px;}
label{cursor:hand;}
</style>
</head>
<body>
<h1>ICO图标在线转换</h1>
<form action="?action=make" method="post" enctype='multipart/form-data'>
<table>
    <tr>
        <td><b>请上传你要转换的图片</b><br>支持格式 png,jpg,gif</td>
    </tr>
    <tr>
        <td><input type="file" name="upimage" size="30"></td>
    </tr>
    <tr>
        <td>目标尺寸:
        <input type="radio" name="size" value="1" id="s1"><label for="s1">16*16</label>
        <input type="radio" name="size" value="2" id="s2" checked><label for="s2">32*32</label>
        <input type="radio" name="size" value="3" id="s3"><label for="s3">48*48</label>
        </td>
    </tr>
    <tr>
        <td align="right"><input type="submit" value="生 成"></td>
    </tr>
    <?PHP
    if($output){
        echo "<tr><td><div style=\"border:1px solid #D8D8B2;background-color:#FFFFDD;padding:10px\">".$output."</div></td></tr>";
    }
    ?>
    <tr>
        <td><div style="color:#cccccc;font-size:11px;">Powered by <a href="http://veryim.com" style="color:#cccccc">非常爱漫</a> </div></td>
    </tr>
</table>
</form>
</body>
</html>


phpthumb.ico.php

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/bc76e4667056e9a96ed60fe23d9066b5.html