php checkdate日期验证
<?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
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
/*** 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> ";
}
?>
<?php
function xmlStringToArray($xmlString)
{
$xmlString = preg_replace('/<!--.*?-->/s','',$xmlString);
$exitAfterManyLoops = 0;
$xmlArray = array();
$currentNode = &$xmlArray;
$currentHierarchy = array();
$currentDepth = 0;
while($xmlString != '')
{
$exitAfterManyLoops++;
if($exitAfterManyLoops > 300)
{
print "BREAK";
break;
}
$xmlString = trim(substr($xmlString, strpos($xmlString, '<')));
$thisNodeAscends = (substr($xmlString, 1, 1) == '/');
$thisNodeDescends = (substr($xmlString, strpos($xmlString, '>') - 1, 1) != '/');
$nodeName = substr($xmlString, 1, strpos($xmlString, ' ') -1);
$openElement = substr($xmlString, strpos($xmlString, ' ') + 1);
$openElement = substr($openElement, 0, strpos($openElement, '>') );
if(substr($openElement, strlen($openElement) - 1, 1) == "/")
{
$openElement = substr($openElement, 0, strlen($openElement) - 1);
}
if($thisNodeAscends)
{
$currentDepth--;
$currentNode = &$currentHierarchy[$currentDepth];
}
else
{
if($thisNodeDescends)
{
$currentNode[] = array('__attributes' => parseXmlAttributesString($openElement), '__children' => array(), '__nodeName' => $nodeName);
$currentHierarchy[$currentDepth] = &$currentNode;
$currentDepth++;
$lastItem = &$currentNode[count($currentNode) - 1];
$currentNode = &$lastItem['__children'];
}
else //this node is at the same level
{
$currentNode[] = array('__attributes' => parseXmlAttributesString($openElement), '__nodeName' => $nodeName);
}
}
$xmlString = substr($xmlString, strpos($xmlString, '>') + 1);
}
return $xmlArray;
}
function parseXmlAttributesString($xmlElementString)
{
$exitAfter100Loops = 0;
$xmlElementArray = array();
while($xmlElementString != '')
{
$exitAfter100Loops++;
if($exitAfter100Loops > 100)
{
print "BREAK";
break;
}
$equalsCharacterPos = strpos($xmlElementString, '=');
$key = trim(substr($xmlElementString, 0, $equalsCharacterPos));
$xmlElementString = substr($xmlElementString, $equalsCharacterPos + 1);
$openBracket = substr($xmlElementString, 0, 1);
$xmlElementString = substr($xmlElementString, 1);
$endBracketPos = strpos($xmlElementString, $openBracket);
$value = substr($xmlElementString, 0, $endBracketPos);
$xmlElementString = substr($xmlElementString, $endBracketPos + 1);
if($key)
{
$xmlElementArray[$key]=$value;
}
}
return $xmlElementArray;
}
?>
相关文章
- 一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
Django def clean()函数对表单中的数据进行验证操作
这篇文章主要介绍了Django def clean()函数对表单中的数据进行验证操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-09- 这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
- 本文实例讲述了php计算两个日期相差天数的方法。...2015-03-15
- 这篇文章主要为大家详细介绍了JavaScript实现密码框输入验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-01
- 实例讲解之前,先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳。 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。...2015-11-08
- moment是一款多语言支持的日期处理类库, 在vue中如何使用呢?这篇文章主要给大家介绍了关于vue之moment使用的相关资料,需要的朋友可以参考下...2021-05-13
- 这篇文章主要介绍了Nest.js 授权验证的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
- 这篇文章主要介绍了el-table树形表格表单验证(列表生成序号),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-01
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
这篇文章主要介绍了JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2017-06-15- 这篇文章主要介绍了C#实现将字符串转换成日期格式的方法,涉及C#操作时间及字符串的相关技巧,非常简单实用,需要的朋友可以参考下...2020-06-25
- 这篇文章主要为大家详细介绍了js canvas实现滑块验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
- 分享一个利用php根据日期或时间戳获取相应的干支纪年,生肖和星座信息的函数方法,具体函数代码以及使用方法如下: /** 判断干支、生肖和星座 */ function birthext($birth){ if(strstr($birth,'-')===false&&strlen($bi...2015-10-21
vue element table中自定义一些input的验证操作
这篇文章主要介绍了vue element table中自定义一些input的验证操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-18- 这篇文章主要为大家分享了一个简单的javascript数据类型验证方法,感兴趣的小伙伴们可以参考一下...2016-01-05
- 这篇文章主要介绍了selenium 反爬虫之跳过淘宝滑块验证功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-27
java8时间 yyyyMMddHHmmss格式转为日期的代码
这篇文章主要介绍了java8时间 yyyyMMddHHmmss格式转为日期的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17- 这篇文章主要为大家详细介绍了jquery表单验证插件validation使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-23
- 这篇文章主要为大家详细介绍了vue实现表单验证小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-29
- 这篇文章主要介绍了sql通过日期判断年龄函数,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-07-16