【问题标题】:HOW TO CHANGE THE MESSAGE: The uploaded file exceeds the upload_max_filesize directive in php.ini如何更改消息:上传的文件超过了 php.ini 中的 upload_max_filesize 指令
【发布时间】:2021-05-12 22:49:27
【问题描述】:

您好,只要您降低上传文件大小,然后尝试上传大于 php.ini 中指定大小的文件,就会出现此通用消息 我不寻求如何解决它, 我想更改消息的内容,但我找不到在哪里。 网络上到处都是如何修复它的答案:) 谢谢!

【问题讨论】:

  • 这不是 PHP 警告。因此,它会被您保密的任何软件或代码专门打印出来。使用您选择的文件搜索工具,并找到与该字符串关联的回显/打印。

标签: php file size


【解决方案1】:

如果您只想捕获异常并更改为“不错”的消息,则需要将上传内容包装在 try catch 中并测试以下异常类型 UPLOAD_ERR_INI_SIZE

您可以从那里简单地编辑/更改/替换您喜欢的消息。

值得注意的是,您可能希望处理更多错误消息,它们在documentation 中列出。

这是“直接”的 PHP,所以 WordPress 可能需要少量,我现在没有方便的 WP 安装。

try {
    //upload stuff
} catch (Exception $e) {
    switch($_FILES['file']['error']) {
        case UPLOAD_ERR_OK:
            //for completeness sake
            $message = "File Uploaded Successfully";
            break;
        case UPLOAD_ERR_INI_SIZE:
            $message = "The uploaded file exceeds the upload_max_filesize directive in php.ini";
            break;
        case UPLOAD_ERR_FORM_SIZE:
            $message = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form";
            break;
        case UPLOAD_ERR_PARTIAL:
            $message = "The uploaded file was only partially uploaded";
            break;
        case UPLOAD_ERR_NO_FILE:
            $message = "No file was uploaded";
            break;
        case UPLOAD_ERR_NO_TMP_DIR:
            $message = "Missing a temporary folder";
            break;
        case UPLOAD_ERR_CANT_WRITE:
            $message = "Failed to write file to disk";
            break;
        case UPLOAD_ERR_EXTENSION:
            $message = "File upload stopped by extension";
            break;
        default:
            $message = "Unknown upload error";
            break;
    }
    //deal with returning the message here
}

只需将$message 编辑成您想要的任何自定义消息即可。

【讨论】:

  • 我很抱歉,你能否给我可怜的灵魂指点一些可以做这些事情的 wordpress 过滤器。我是个十足的菜鸟。如果你不想打扰我会理解的。
  • 可能是这样:if (!function_exists('wp_handle_upload_error')){function wp_handle_upload_error(&$file,$message){return array('error'=>$message); } } 但不知道如何让它作为过滤器工作
  • 您没有声明您使用的是 wordpress,也许可以将其添加到您的帖子和标签中,以便更清晰。我会看看我是否可以更新我的信息以更清晰一点
  • 是的,34 小时以上没有睡觉,抱歉。谢谢!
猜你喜欢
  • 2013-03-06
  • 2015-12-18
  • 2017-05-18
  • 2019-07-10
  • 2023-01-20
  • 1970-01-01
  • 2019-03-01
  • 2016-08-26
  • 2018-11-01
相关资源
最近更新 更多