2014-01-16 63 views
1

早些時候,我有一個要求用戶上傳圖片的形式,我有這樣的功能:PHP函數調用,未定義功能錯誤

function fileUploaded() { 
     $fileName = $_FILES ['picture'] ['name']; 
     $pathOfFile = "/images/"; 
     $fileTmpLoc = $_FILES ['picture'] ["tmp_name"]; 
     $fileResult = move_uploaded_file ($fileTmpLoc, $pathOfFile); 
     if (isset ($fileName)) { 
      return true; 
     } 

} 

基本上它移動上傳圖片到圖片文件。然後我在if語句中調用這個函數:

 if (fileUploaded() == true) { 
     if ($fileResult) { 
      /*checking the size of file*/ 
      } 
     } 
     else { 
     $fileName = "default.jpg"; 
     } 

當我嘗試上傳並提交給了錯誤的下面後:

Fatal error: Call to undefined function fileUploaded()

應該是什麼問題呢? 謝謝。

+0

當你說'我有這個功能',它寫在哪裏?在同一個文件,或不同的文件?如果它在不同的文件中,你肯定包括它嗎? –

+0

如果你在函數「之前」調用函數,那麼這會導致你的錯誤。這取決於它的放置位置。向我們展示完整的代碼,以便查看它的放置位置,如果它在同一個文件中。 –

+0

İt是在相同的文件和相同的PHP標記:) – ekrem777

回答

2

您不會在函數中返回默認值。也許這就是問題所在:

function fileUploaded() { 
    $fileName = $_FILES ['picture'] ['name']; 
    $pathOfFile = "/images/"; 
    $fileTmpLoc = $_FILES ['picture'] ["tmp_name"]; 
    $fileResult = move_uploaded_file ($fileTmpLoc, $pathOfFile); 
    if (isset ($fileName)) { 
     return true; 
    } 
    return false; 
} 
+0

同樣的錯誤。我將刪除該函數並在if語句的幫助下在主php中執行此操作。 – ekrem777

1
//functions.php 
function fileUpload($path) { 
    if(!isset($_FILES['picture'])) return false; 
    $fileName = $_FILES['picture']['name']; 
    $fileTmpLoc = $_FILES['picture']['tmp_name']; 
    if(move_uploaded_file ($fileTmpLoc, $path)) return $fileName; 
    return false; 
} 

//main.php 
include('functions.php'); 

$fileName = fileUpload('/images/'); 
if($fileName === false) { 
    $fileName = 'default.jpg'; 
} 

//do the rest here 

類似的東西上面的代碼。由於你的功能是在不同的文件中,你需要包含它(或require它)

相關問題