我使用了带有版本1.1.7692的cakephp。
当我使用php ver>运行它时5.3.2,它有bug:
Fatal error: Cannot redeclare date_diff().
并且我使用php ver 5.2.9运行它,它显示的文本和代码与:
相同quality = 100; $thumb->fileName = "/path/to/file.jpg"; //IMPORTANT -
must run init() function before any manipulation is performed
$thumb->init(); //shrink image by 50% $thumb->percent = 50;
$thumb->resize(); //crop image to 350x350 from center of image
$thumb->cropSize = 350; $thumb->crop(); //resize image to no more than
125px wide $thumb->percent = 0; $thumb->maxWidth = 125;
$thumb->resize(); //save image as 'filename.jpg'
$thumb->save('/path/to/save/filename.jpg'); You can also use this
class to dynamically generate thumbnails and display them After you
have made your manipulations you could display the result by: echo '';
*/ class ThumbnailComponent extends Object { var $errmsg; //error message to parse var $error; //flag for whether there is an error var
$format; //file format of image var $currentDimensions=array();
//current dimensions of working image var $newDimensions=array();
//new dimensions after manipulation var $newImage; //final image to
be displayed/saved var $oldImage; //original image to be manipulated
var $workingImage; //working image being manipulated var $fileName;
//filename of image, can include directory var $maxWidth; //maximum
width of the image var $maxHeight; //maximum height of the image var
$percent; //percentage of the original image size var $quality;
//image quality of jpeg images var $cropSize;....
这是函数date_diff:
function date_diff($start_date,$end_date)
{
$splitstdate = split(" ",$start_date);
$splitenddate = split(" ",$end_date);
list($year,$month,$day)=split("-",$splitstdate[0]);
list($year_test,$month_test,$day_test)=split("-",$splitenddate[0]);
list($hour,$min,$sec)=split(":",$splitstdate[1]);
list($hour_test,$min_test,$sec_test)=split(":",$splitenddate[1]);
$start = mktime($hour, $min, $sec,$month,$day,$year);
$end = mktime($hour_test, $min_test,$sec_test,$month_test,$day_test,$year_test);
$date_diff = $start-$end;
if($date_diff<0)
$date_diff=0;
$days = intval($date_diff /(3600*24)) ;
$hms = date('h \h\r \m\i\n s \s\e\c \a\g\o',$date_diff);
return $days.' days '.$hms ;
}
谁能知道bug的原因和解决方法? 谢谢大家。
答案 0 :(得分:3)
date_diff
是php
版本5.3.0
中的内置函数,您无法重新声明它。
答案 1 :(得分:3)
date_diff()
是php版本5.3.0的内置函数。以上版本,您可以查看http://php.net/manual/en/function.date-diff.php这就是您获取Fatal error: Cannot re-declare date_diff()
的原因所以更改您的功能名称这将解决您的问题
您可以查看有关日期差异的答案https://stackoverflow.com/a/14938421/718224以获取更多信息。
注意:在版本&lt; 5.3.0我只是用这个表格来计算天数
<?php
$today = strtotime("2011-02-03 00:00:00");
$myBirthDate = strtotime("1964-10-30 00:00:00");
printf("I'm %d days old.", round(abs($today-$myBirthDate)/60/60/24));
?>