Php 不能从其类内调用函数,但可以在其他情况下调用?
似乎无法从类中调用的函数中获得结果 需要一次($_服务器['DOCUMENT_ROOT'].“/youradmin_v2/scripts/php/IPTC.php”) 班级媒体{Php 不能从其类内调用函数,但可以在其他情况下调用?,php,class,iptc,Php,Class,Iptc,似乎无法从类中调用的函数中获得结果 需要一次($_服务器['DOCUMENT_ROOT'].“/youradmin_v2/scripts/php/IPTC.php”) 班级媒体{ function Media() { // connects to db } function getMetaData($mediaID){ global $select; $mediaDB = $select->mediaSelect($mediaID); $filePath
function Media() {
// connects to db
}
function getMetaData($mediaID){
global $select;
$mediaDB = $select->mediaSelect($mediaID);
$filePath=$mediaDB['filePath'];
$itpc =new Image_IPTC($filePath);
return $itpc->getTag($tag,0)." called?";
}
函数newFileProcessing($file\u name){
全局$func;全局$select、$insert、$update
$mediaID=$insert->addMedia($file_name, $filetype, $filePathImg,$testI);
$mediaDB = $select->mediaSelect($mediaID);
$filePath=$_SERVER['DOCUMENT_ROOT'].$mediaDB['pathToFile'];
$update->updateQuery('media',"title='".$this->getMetaData($mediaID)."'");
}
}
$media=新媒体
当我在php页面上使用$media->getMetaData($mediaID)时,它能工作吗?没有错误,并且在类中调用时,会将“called?”添加到条目中,因此我认为它与$itpc=new Image\u IPTC($filePath)部分有关,可以在此处查看该部分
谁能看出我做错了什么?!欢迎指点
最好的,丹
$this->getMetaData($mediaID)
在函数newFileProcessing($file_name)中不起作用,因为它不是媒体类的成员函数
如果您的代码看起来像这样,它应该可以工作
require_once($_SERVER['DOCUMENT_ROOT']."/youradmin_v2/scripts/php/IPTC.php");
class Media{
function Media() {
// connects to db
}
function getMetaData($mediaID){
global $select;
$mediaDB = $select->mediaSelect($mediaID);
$filePath=$mediaDB['filePath'];
$itpc =new Image_IPTC($filePath);
return $itpc->getTag($tag,0)." called?";
}
function newFileProcessing($file_name){
global $func;
global $select, $insert, $update;
$mediaID=$insert->addMedia($file_name, $filetype, $filePathImg,$testI);
$mediaDB = $select->mediaSelect($mediaID);
$filePath=$_SERVER['DOCUMENT_ROOT'].$mediaDB['pathToFile'];
$update->updateQuery('media',"title='".$this->getMetaData($mediaID)."'");
}
}
$media = new Media;
谢谢你找回特里斯坦。不确定我是否一直盯着你看,但我看不到你的代码有什么不同?最好的,Dan。我如何使newFileProcessing成为媒体类的一个成员函数,以及它在类外被调用的含义是什么?干杯……代码的不同之处在于newFileProcessing在Media类的范围内(请看您和我之间大括号的开头和结尾),它们不会有任何影响您应该能够调用newFileProcessing,如$Media->newFileProcessing(fileName)啊-废话-这是一个打字错误,它实际上在课堂上。我实际上无法访问你发布的IPTC脚本。这可能是你所经历的吗?