javascript - 文件未上传时如何绕过文件上传脚本

标签 javascript php file file-upload

我有一个可以发送文本输入,有时还可以发送文件的表单。我遇到了文件未上传的问题。目前,如果表单提交中未包含文件,我会收到以下错误:

PHP Notice: Undefined index: uploadedFile

该错误与这行代码直接相关:

$file_count = count($_FILES['uploadedFile']['name']);

我知道错误的含义。我的问题是,当文件不是用可转换为 PHP 的 javascript 上传时,我是否可以将文件计数预定义为 0。或者有没有办法在运行 $file_count 之前检查它是否已设置?

但是,整个脚本中出现了更多的情况。我可以在函数声明之后添加一个 if 语句吗?

public function upload() {

    $file_count = count($_FILES['uploadedFile']['name']);
    $results = [];
    for ($i = 0; $i<$file_count; $i++) {
        //echo $file['uploadedFile']['name'][$index] . "\n";

        $target_dir = "uploads/";
        $target_file = $target_dir . basename($_FILES["uploadedFile"]["name"][$i]);
        $uploadOk = 1;
        $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));        

        // Check if $uploadOk is set to 0 by an error
        if ($uploadOk == 0) {
            return 0;
            // if everything is ok, try to upload file
        } else {
            if (move_uploaded_file($_FILES["uploadedFile"]["tmp_name"][$i], $target_file)) {
                $results[] = basename($_FILES["uploadedFile"]["name"][$i]);
            } else {
                return 0;
            }
        }
    }
    return $results;

最佳答案

您可以使用空来检查是否有文件附件

if (!empty($_FILES["uploadedFile"]["name"])) {

如果没有找到任何内容(例如 isset 或 count),empty 不会生成通知或警告

关于javascript - 文件未上传时如何绕过文件上传脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58530437/

相关文章:

Javascript:如何从 div 或字符串中删除最后一个字符?

javascript - 有没有办法从对象中获取元素的数量?

PHP获取包含/需要当前文件的文件

php - 无法打开使用 dompdf 生成的 pdf 文件

php - 根据列值加入

java - File.isFile() 和 File.isDirectory() 都返回 false

javascript - 在对象文字方法周围传递异步值

javascript - PEGJS:如何通过语法

python - 如何在python中从文件中的字典中添加多个值

php - 是否可以在 Windows 中使用 PHP 访问和设置 "File is ready for archiving"标志?