Php函数调用,未定义函数错误

时间:2014-01-16 21:11:59

标签: php function undefined-function

之前我有一个要求用户上传图片的表单,我有这个功能:

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";
       }

当我尝试上传并提交时,会出现以下错误:

  

致命错误:调用未定义的函数fileUploaded()

应该是什么问题? 感谢。

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分: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