【问题标题】:Php function calling, Undefined function errorphp函数调用,未定义函数错误
【发布时间】:2014-01-16 21:11:59
【问题描述】:

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

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()

应该是什么问题? 谢谢。

【问题讨论】:

  • 当你说'我有这个功能'时,它写在哪里?在同一个文件中,还是在不同的文件中?如果它在不同的文件中,你确定包含它吗?
  • 如果你在函数“之前”调用函数,那么就会抛出这个错误。这取决于它的放置位置。向我们展示完整的代码,以便查看它的放置位置(如果它在同一个文件中)。
  • İt 在同一个文件和同一个 php 标签中 :)
  • 不,我在定义它之后调用这个函数。
  • 旁注:这个$pathOfFile = "/images/"; 可能会失败。您可能需要使用相对路径。即:$pathOfFile = "images/";$pathOfFile = "../images/";

标签: php function undefined-function


【解决方案1】:

您不会在函数中返回默认值。也许是问题所在:

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

【讨论】:

  • 又是同样的错误。我将删除该函数并在 if 语句的帮助下在 main php 中执行此操作。
【解决方案2】:
//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 它)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 2014-07-21
    • 2016-07-02
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    相关资源
    最近更新 更多