php 利用GD创建缩略图

 更新时间:2016年11月25日 15:59  点击:1522

<?php

    error_reporting(E_ALL);

    $width = 80;

    /*** the image file to thumbnail ***/
    $image = 'spork.jpg';

    if(!file_exists($image))
    {
        echo 'No file found';
    }
    else
    {
        /*** image info ***/
        list($width_orig, $height_orig, $image_type) = getimagesize($image);

        /*** check for a supported image type ***/
        if($image_type !== 2)
        {
            echo 'invalid image';
        }
        else
        {
            /*** thumb image name ***/
            $thumb = 'thumb.jpg';

            /*** maintain aspect ratio ***/
            $height = (int) (($width / $width_orig) * $height_orig);

            /*** resample the image ***/
            $image_p = imagecreatetruecolor($width, $height);
            $image = imageCreateFromJpeg($image);
            imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

            /*** write the file to disc ***/
            if(!is_writeable(dirname($thumb)))
            {
                echo 'unable to write image in ' . dirname($thumb);
            }
            else
            {
                imageJpeg($image_p, $thumb, 100);
            }
        }
    }
?>

 

<?php

try
{
    /*** Read in the animated gif ***/
    $animation = new Imagick("animation.gif");

    /*** Loop through the frames ***/
    foreach ($animation as $frame)
    {
        /*** Thumbnail each frame ***/
        $frame->thumbnailImage(100, 100);
   
        /*** Set virtual canvas size to 100x100 ***/
        $frame->setImagePage(100, 100, 0, 0);
    }

    /*** Write image to disk. Notice writeImages instead of writeImage ***/
    $animation->writeImages("animation_thumbnail.gif");

    echo "Images written";
}
catch(Exception $e)
{
    echo $e->getMessage();
}

?>

 

 <?php
    /**
    *
    * Validate a date
    *
    * @param    string    $date
    * @param    string    format
    * @return    bool
    *
    */
    function validateDate( $date, $format='YYYY-MM-DD')
    {
        switch( $format )
        {
            case 'YYYY/MM/DD':
            case 'YYYY-MM-DD':
            list( $y, $m, $d ) = preg_split( '/[-./ ]/', $date );
            break;

            case 'YYYY/DD/MM':
            case 'YYYY-DD-MM':
            list( $y, $d, $m ) = preg_split( '/[-./ ]/', $date );
            break;

            case 'DD-MM-YYYY':
            case 'DD/MM/YYYY':
            list( $d, $m, $y ) = preg_split( '/[-./ ]/', $date );
            break;

            case 'MM-DD-YYYY':
            case 'MM/DD/YYYY':
            list( $m, $d, $y ) = preg_split( '/[-./ ]/', $date );
            break;

            case 'YYYYMMDD':
            $y = substr( $date, 0, 4 );
            $m = substr( $date, 4, 2 );
            $d = substr( $date, 6, 2 );
            break;

            case 'YYYYDDMM':
            $y = substr( $date, 0, 4 );
            $d = substr( $date, 4, 2 );
            $m = substr( $date, 6, 2 );
            break;

            default:
            throw new Exception( "Invalid Date Format" );
        }
        return checkdate( $m, $d, $y );
    }
?>

Example Usage

<?php
        echo validateDate( '2007-04-21' ) ? 'good'. " " : 'bad' . " ";
        echo validateDate( '2007-21-04', 'YYYY-DD-MM' )  ? 'good'. " " : 'bad' . " ";
        echo validateDate( '2007-21-04', 'YYYY/DD/MM' )  ? 'good'. " " : 'bad' . " ";
        echo validateDate( '21/4/2007', 'DD/MM/YYYY' )  ? 'good'. " " : 'bad' . " ";
        echo validateDate( '4/21/2007', 'MM/DD/YYYY' )  ? 'good'. " " : 'bad' . " ";
        echo validateDate( '20070421', 'YYYYMMDD' )  ? 'good'. " " : 'bad' . " ";
        echo validateDate( '04212007', 'YYYYDDMM' )  ? 'good'. " " : 'bad' . " ";
?>

 

<?php
/*** an array of attributes about a dog ***/
$array = array('animal'=>'dog', 'name'=>'Offenbach', 'owner'=>'Mr Smith');

/*** add the dogs favourite food to the array ***/
$array = ($array, 'food', 'postmans leg');

/*** print the array ***/
print_r($array);

/**
 * @Push and element onto the end of an array with associative key
 *
 * @param array $array
 *
 * @string $key
 *
 * @mixed $value
 *
 * @return array
 *
 */
function ($array, $key, $value){
 $array[$key] = $value;
 return $array;
}

?>

This will return the following results

Array
(
   [animal] => dog
   [name] => Offenbach
   [owner] => Mr Smith
   [food] => postmans leg
)

 

我在学习PHP的,当我尝试做在session_start() - 获取有关错误信息不能发送会话cookie。

我看到在这个问题上前面的问题,但是,仍然不能确定我的错误。

如果是错误家伙?
<?php
session_start();
      if ($_POST['add'])
      {
            foreach ($_POST['a_qty'] as $k => $v)
            {
                  $_SESSION['cart'][$k] = $_SESSION['cart'][$k] + $v;
            }
      }
?>
<?php
// look for catalog file
      $catalogfile = "catalog.dat";
      // file is avaialbe, extract data from it and place into $catalog, with sku as key
      if (file_exists($catalogfile))
      {
            $data = file($catalogfile);
            foreach ($data as $line)
            {
                  $lineArray = explode(":", $line);
                  $sku = trim($lineArray[0]);
                  $CATALOG[$sku]['desc'] = trim($lineArray[1]);
                  $CATALOG[$sku]['price'] = trim($lineArray[2]);                             
            }
      }
      else
      {
            die("Could not find the catalog file");
      }
?>
<table border="1" cellspacing="10">
<?php
            // print items from the catalog for selection
            foreach ($CATALOG as $k => $v)
            {
                  echo "<tr><td colspan=2 width=750>";
                  echo "<b>" . $v['desc'] . "</b>";
                  echo "</td></tr>";
                  echo "<tr><td>";
                  echo "Price per unit: " . $CATALOG[$k]['price'];
                  echo "</td><td>Quantity: ";
                  echo "<input size=4 type=text name="a_qty[" . $k . "]">";
                  echo "</td></tr> ";
            }
?>

[!--infotagslink--]

相关文章

  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • JS创建Tag标签的方法详解

    这篇文章主要介绍了JS创建Tag标签的方法,结合具体实例形式分析了javascript动态操作页面HTML元素实现tag标签功能的步骤与相关操作技巧,需要的朋友可以参考下...2017-06-15
  • JavaScript动态创建div属性和样式示例代码

    1.创建div元素: Javascript代码 复制代码 代码如下: <scripttypescripttype="text/javascript"> functioncreateElement(){ varcreateDiv=document.createElement("div"); createDiv.innerHTML="Testcreateadiveleme...2013-10-13
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • php微信公众账号开发之五个坑(二)

    这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31
  • PHP如何通过date() 函数格式化显示时间

    这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
  • PHP+jQuery+Ajax实现多图片上传效果

    今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15
  • PS如何创建变形文字 ps给文字变形的方法

    PS怎么创建变形文字?ps中想要给输入的文字变形,该怎么调整文字的显示形态呢?下面我们就来看看ps给文字变形的方法,需要的朋友可以参考下 我们在图层上输入文字后,可以...2017-07-06
  • 什么是cookie?js手动创建和存储cookie

    什么是cookie? cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。 有关cookie的例子: 名字 cookie 当访...2014-05-31
  • c#生成高清缩略图的二个示例分享

    这篇文章主要介绍了c#生成高清缩略图的二个示例,需要的朋友可以参考下...2020-06-25
  • javascript创建对象的几种模式介绍

    下面小编就为大家带来一篇javascript创建对象的几种模式介绍。小编觉得挺不错的,现在分享给大家,也给大家做个参考...2016-05-09
  • golang与php实现计算两个经纬度之间距离的方法

    这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
  • idea 无法创建Scala class 选项的原因分析及解决办法汇总

    这篇文章主要介绍了idea 无法创建Scala class 选项的解决办法汇总,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • PHP如何使用cURL实现Get和Post请求

    这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11
  • 谈谈PHP中相对路径的问题与绝对路径的使用

    经常看到有人踩在了PHP路径的坑上面了,感觉有必要来说说PHP中相对路径的一些坑,以及PHP中绝对路径的使用,下面一起来看看。 ...2016-08-24