2013-08-01 118 views
1

我希望你能幫助我。我在我的PHP代碼中有這個錯誤,我不知道我需要改變和在哪裏。它表明在這條線上它在星星中。可捕捉的致命錯誤:類stdClass的對象無法轉換爲字符串

這裏是我的代碼:

private function replaceFile($id, $file, $version) { 

    global $CFG; 
    $source = get_record('procedure_log','procedure_id', $id); 
    $destination = $CFG->dataroot . "/procedures/$id/$version/"; 
    @mkdir($destination, 0777, true); 
    $dataobject = new stdClass(); 
    $dataobject->id = $this->logId; 
    $dataobject->file = addslashes($destination . $file['name']); 
    **copy(var_dump($source.$file['name'], $destination.$file['name']));** 
} 
+0

你需要學習如何[閱讀和調試(http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php)的錯誤信息。解決問題所需的一切都在錯誤信息中。某處您嘗試使用一個對象,如果它是一個字符串,也許$源例如 – Anigel

+0

看到這一點: http://stackoverflow.com/questions/5032687/php-catchable-fatal-error-object-of-class -stdclass-could-be-converted-to-s –

回答

1

$source可能是對象,你不能把它作爲字符串(你試過用字符串$file['name']使用點加入到這樣做)。您應該選擇要添加到此字符串的內容。

+1

不知道他們如何將__toString()添加到stdClass – Anigel

+0

@Anigel右,他不能:)但他可以指定他想要添加到字符串的內容。 –

+0

酷+1現在編輯 – Anigel

1

功能,您可能get_record返回您在變量$source分配對象不是一個字符串。您需要通過回顯來檢查$source變量的值。

而且你會得到確切的問題。

+1

謝謝大家誰試圖幫助我這個雨天:) – Erika

相關問題