如何从php页面中删除pathinfo错误?

i make a template in which i select multiple files and i make php page in which i upload the files but when i upload the files it gives me error like

Warning: pathinfo() expects parameter 1 to be string, array given in C:\xampp\htdocs\jobboard\system\user-scripts\classifieds\apply_now.php on line 67

here is my code:

<input type="file" name="file_tmp[]" multiple />

and here is my apply_now.php:

if (!empty($_FILES['file_tmp']['name'])){
    $fileFormats = explode(',',SJB_System::getSettingByName('file_valid_types'));
    foreach ( $_FILES['file_tmp']['name'] as $file ) {
        $fileInfo = pathinfo($file);
        if ( !in_array(strtolower($fileInfo['extension']), $fileFormats) ) {
            $errors['NOT_SUPPORTED_FILE_FORMAT'] = strtolower($fileInfo['extension']) . ' ' . SJB_I18N::getInstance()->gettext(null, 'is not in an acceptable file format');
        }
    }
}

The error is caused by the fact that you are giving an array as argument, instead of a string, just as the error message tells you.

This can be fixed by changing your foreach code to the following:

foreach ( $_FILES['file_tmp']['name'] as $key => $file ) {
    $fileInfo = pathinfo($_FILES['file_tmp']['name'][$key]);
    if ( !in_array(strtolower($fileInfo['extension']), $fileFormats) ) {
        $errors['NOT_SUPPORTED_FILE_FORMAT'] = strtolower($fileInfo['extension']) . ' ' . SJB_I18N::getInstance()->gettext(null, 'is not in an acceptable file format');
    }
}

Please also refer to my code in my answer on your previous question: https://stackoverflow.com/a/22355746/2539335

If you upload many files then $_FILES['file_tmp']['name'] will be an array. You should make foreach loop

foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "data/$name");
    }
}

In you code replace:

$fileInfo = pathinfo($_FILES['file_tmp']['name']);
if ( !in_array(strtolower($fileInfo['extension']), $fileFormats) ) {
    $errors['NOT_SUPPORTED_FILE_FORMAT'] = strtolower($fileInfo['extension']) . ' ' . SJB_I18N::getInstance()->gettext(null, 'is not in an acceptable file format');
}

With:

foreach ( $_FILES['file_tmp']['name'] as $file ) {
    $fileInfo = pathinfo($file);
    if ( !in_array(strtolower($fileInfo['extension']), $fileFormats) ) {
        $errors['NOT_SUPPORTED_FILE_FORMAT'] = strtolower($fileInfo['extension']) . ' ' . SJB_I18N::getInstance()->gettext(null, 'is not in an acceptable file format');
    }
}