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

似乎无法从类中调用的函数中获得结果

需要一次($_服务器['DOCUMENT_ROOT'].“/youradmin_v2/scripts/php/IPTC.php”)

班级媒体{

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脚本。这可能是你所经历的吗?