对象 属性 未显示
Object property not showing
我在 php 页面上有一个功能,旨在使用 getid3 抓取视频文件的创建 date/time。我认为一切都运行良好,并准备好在我(当然)运行 一切都再次确定时将这个版本放到床上,但最终遇到了一个我似乎无法弄清楚的问题.
相关的代码是这样的:
$getID3 = new getID3;
$ThisFileInfo = $getID3->analyze($file);
if ($ThisFileInfo["quicktime"]["moov"]["subatoms"][0]["creation_time_unix"]){
$createdate = new DateTime("@".strval($ThisFileInfo["quicktime"]["moov"]["subatoms"][0]["creation_time_unix"]));
}
else {
$createdate = new DateTime("@".strval($ThisFileInfo["quicktime"]["moov"]["subatoms"][0]["modify_time_unix"]));
}
$createdate->setTimeZone(new DateTimeZone('America/New_York'));
//var_dump($createdate);
$createdate = $createdate->date;
当我使用这部分处理文件时,我收到一条错误消息,指出 Notice: Undefined property: DateTime::$date in … line 179
(我删除了文件路径)。但是,我知道情况并非如此,因为如果我取消注释上面列出的 var_dump
行,我会得到输出 object(DateTime)#3 (3) { ["date"]=> string(26) "2016-01-24 15:20:32.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "America/New_York" }
.
在我看来,DateTime 对象 $createdate
有一个名为 $date
的 属性,所以我不确定发生了什么,尽管我假设它是某种东西在我的语法中。有人可以帮我解决这个问题吗?
如果您不确定从对象的当前范围可以访问哪些变量,可以使用 get_class_vars().
在 DateTime 对象上使用它 returns 一个空数组:
var_dump(get_class_vars(get_class($datetimeobj)));
...这意味着 $date
属性 是私有的。当然,您可以使用 date_format() 方法访问 DateTime 对象的字符串表示形式:
$dateString = date_format($dateTimeObj, 'Y-m-d H:i:s');
您可以阅读有关格式语法的更多信息 in the "date" manual。
我在 php 页面上有一个功能,旨在使用 getid3 抓取视频文件的创建 date/time。我认为一切都运行良好,并准备好在我(当然)运行 一切都再次确定时将这个版本放到床上,但最终遇到了一个我似乎无法弄清楚的问题.
相关的代码是这样的:
$getID3 = new getID3;
$ThisFileInfo = $getID3->analyze($file);
if ($ThisFileInfo["quicktime"]["moov"]["subatoms"][0]["creation_time_unix"]){
$createdate = new DateTime("@".strval($ThisFileInfo["quicktime"]["moov"]["subatoms"][0]["creation_time_unix"]));
}
else {
$createdate = new DateTime("@".strval($ThisFileInfo["quicktime"]["moov"]["subatoms"][0]["modify_time_unix"]));
}
$createdate->setTimeZone(new DateTimeZone('America/New_York'));
//var_dump($createdate);
$createdate = $createdate->date;
当我使用这部分处理文件时,我收到一条错误消息,指出 Notice: Undefined property: DateTime::$date in … line 179
(我删除了文件路径)。但是,我知道情况并非如此,因为如果我取消注释上面列出的 var_dump
行,我会得到输出 object(DateTime)#3 (3) { ["date"]=> string(26) "2016-01-24 15:20:32.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "America/New_York" }
.
在我看来,DateTime 对象 $createdate
有一个名为 $date
的 属性,所以我不确定发生了什么,尽管我假设它是某种东西在我的语法中。有人可以帮我解决这个问题吗?
如果您不确定从对象的当前范围可以访问哪些变量,可以使用 get_class_vars().
在 DateTime 对象上使用它 returns 一个空数组:
var_dump(get_class_vars(get_class($datetimeobj)));
...这意味着 $date
属性 是私有的。当然,您可以使用 date_format() 方法访问 DateTime 对象的字符串表示形式:
$dateString = date_format($dateTimeObj, 'Y-m-d H:i:s');
您可以阅读有关格式语法的更多信息 in the "date" manual。