2012-10-29 42 views
-1

上我有一個遍歷目錄層次結構中的文件。子目錄由員工的ID命名。我已經實例化員工類以獲取員工的姓名,以便我可以輸出姓名而不是姓名。致命錯誤:調用getValueEncoded一個成員函數()一個非對象

我不斷收到錯誤「致命錯誤:調用非對象的成員函數,我不明白爲什麼

我可以使用的var_dump()轉儲對象和看到的一切有。 。只有3個包含4個文件的每個子目錄

下面是我的代碼:

   <div id="empDir1" style="padding-left:20px; padding-bottom:25px;"> 
       <?php 
        $dirPath = "emp_files"; 
        function fileManager($dir) { 

        $dirParts = explode("/", $dir); 
        $dirId = $dirParts[1]; 

        if (!isset($dirId)){ 
         echo "<div></div>"; 
        } else { 

        $employeeId = $dirId; 
        $employee = Employee::getEmployee($employeeId); 

        $emp_lastname = $employee->getValueEncoded('emp_lastname'); 
        $emp_firstname = $employee->getValueEncoded('emp_firstname'); 

        $dirListing = $emp_lastname . ', ' . $emp_firstname; 
        } 

        echo "<h2>File Listing for $dirListing ...</h2>"; 
         if (!($handle = opendir($dir))) die("Cannot open $dir."); 

        $fileImage = array(
         'doc' => '../../images/folder-doc.png', 
         'txt' => '../../images/folder-txt.png', 
         'msg' => '../../images/folder-msg.png', 
         'pdf' => '../../images/folder-pdf.png', 
         'png' => '../../images/folder-png.png', 
         'jpg' => '../../images/folder-jpg.png', 
         'bmp' => '../../images/folder-bmp.png', 
         'gif' => '../../images/folder-gif.png', 
         'xls' => '../../images/folder-xls.png', 

         ); 


        $files = array(); 

        while ($file = readdir($handle)) { 
         if ($file != "." && $file != "..") { 
         if (is_dir($dir . "/" . $file)) $file .= "/"; 
         $files[] = $file; 
         } 
        } 

        sort($files); 
         echo '<table>'; 
         foreach ($files as $file) { 
         $fileParts = explode('.', $file); 
         $fileExt = strtolower($fileParts[count($fileParts) -1]); 
         echo '<tr>'; 
         echo '<td width="650px" class="row2">'; 
         echo ("<a class='ptext' href=" . $dir . "/" . $file . ">" . (isset($fileImage[$fileExt]) ? "<img src='". $fileImage[$fileExt] . "' />" : "<img src='../../images/folder-unknown.png' />") . " $file</a><a style='float:right;padding-right:10px;' href='empUnlink.php?filePath=" . $dir . $file ."' id='" . $dir . $file ."' class='deleteFile'>x</a></p>"); 
         echo '</td>'; 
         echo '</tr>'; 
         } 
         echo '</table>'; 

        foreach ($files as $file) { 
         if (substr($file, -1) == "/") fileManager("$dir/" . substr($file, 0, -1)); 
        } 


        closedir($handle); 
        } 

        fileManager($dirPath); 
       ?> 
+0

您可以顯示'getValueEncoded'方法? – Jrod

回答

1

那麼在不知道密碼是什麼類Employee,我的猜測是,靜態函數Employee::getEmployee()沒有找到一個僱傭與$employeeid相匹配的ee,並返回null。做一個檢查$employee不嘗試使用它之前空。

相關問題