Yii2上传一些文件,但有些文件未上传

Yii2上传一些文件,但有些文件未上传,yii2,yii2-advanced-app,Yii2,Yii2 Advanced App,在我的Yii网络中,我尝试上传mp3文件,但问题是有些文件被上传了,有些文件没有,我不知道它们的扩展名相同,大小相同,但没有上传;我的两个文件是 1-beautiful_小提琴.mp3,大小为394 KB,文件类型:mp3格式声音(.mp3) 2-吉他与小提琴.mp3,大小为400 KB,文件类型:mp3格式声音(.mp3) 第一首歌上传,第二首歌未上传;其他mp3也有这种情况,上传一些文件,有些文件不上传 我没有使用多个上传,我上传一个文件,每个帖子;这是单文件上传 我的模型是: public

在我的Yii网络中,我尝试上传mp3文件,但问题是有些文件被上传了,有些文件没有,我不知道它们的扩展名相同,大小相同,但没有上传;我的两个文件是

1-beautiful_小提琴.mp3,大小为394 KB,文件类型:mp3格式声音(.mp3)

2-吉他与小提琴.mp3,大小为400 KB,文件类型:mp3格式声音(.mp3)

第一首歌上传,第二首歌未上传;其他mp3也有这种情况,上传一些文件,有些文件不上传

我没有使用多个上传,我上传一个文件,每个帖子;这是单文件上传

我的模型是:

public $PMediaFile;

public function rules()
{
    return [
        [['post_text'], 'string'],
        [['post_crdate', 'post_update'], 'safe'],
        [['post_status', 'post_likeplus', 'post_likemoin', 'permission_id', 'filestype_id', 'channel_id', 'user_id'], 'integer'],
        [['permission_id', 'filestype_id', 'channel_id', 'user_id'], 'required'],
        [['post_title', 'post_uid'], 'string', 'max' => 300],
        [['post_file', 'post_thimage', 'post_bgimage', 'post_cssclass', 'post_cssid'], 'string', 'max' => 350],
        [['post_icon'], 'string', 'max' => 50],
        [['post_title'], 'unique'],
        [['PMediaFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'mp3', 'maxSize'=>2000000, 'tooBig' => 'Limit is 2M'],
        [['channel_id'], 'exist', 'skipOnError' => true, 'targetClass' => Channel::className(), 'targetAttribute' => ['channel_id' => 'channel_id']],
        [['filestype_id'], 'exist', 'skipOnError' => true, 'targetClass' => Filestypes::className(), 'targetAttribute' => ['filestype_id' => 'filestype_id']],
        [['permission_id'], 'exist', 'skipOnError' => true, 'targetClass' => Permission::className(), 'targetAttribute' => ['permission_id' => 'permission_id']],
        [['user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['user_id' => 'user_id']],
    ];
}
在我的控制器中

$isMember = AxChnPermission::ChannelMemberChnNID($this->chn_nid);

        if ($isMember)
        {
            $model = new PostMedia();       $model_Permission = new Permission; 

            $chn_id = $isMember->channel->channel_id;
            $chn_uid = $isMember->channel->channel_uid;
            $chn_folder = $isMember->channel->channel_folder;

            if ($model->load(Yii::$app->request->post()) ) 
            {
                AxPostMedia::CreateMedia($model, $chn_id, $chn_folder);
                header('Location: ' . Url::current() );
                exit;
            }

            return $this->render('/post-insert/widget/_formInsertMedia', [
                'model' => $model,
                'model_Permission' => $model_Permission,
            ]);
        }
AxPostMedia:

class AxPostMedia
{   
    public function UploadAudio($MPMEDIA, $MAUDIO, $ly_MediaName, $ly_MediaFolder)
    {   
        mkdir($ly_MediaFolder, 0777, true);

        $MPMEDIA->PMediaFile->saveAs($ly_MediaFolder .'/'. $ly_MediaName . '.' . $MPMEDIA->PMediaFile->extension);

        $MAUDIO->audio_path = $ly_MediaFolder .'/'. $ly_MediaName . '.' . $MPMEDIA->PMediaFile->extension;

        $MAUDIO->save(false);
    }

    public static function CreateMedia($MPMEDIA, $CHNID, $chn_folder)
    {
        $USRID = Yii::$app->user->id;
        $css_and_folder = AxValuePost::CssID();

        $MPMEDIA->user_id = $USRID;
        $MPMEDIA->channel_id = $CHNID;
        $MPMEDIA->post_uid = AxValuePost::PSTUID();
        $MPMEDIA->post_cssid = AxValuePost::CssID();
        $MPMEDIA->post_update = time();

        $ly_MediaName = AxValuePost::FileName();

        $MPMEDIA->PMediaFile = UploadedFile::getInstance($MPMEDIA, 'PMediaFile');

        if ($MPMEDIA->PMediaFile->extension == 'mp3')
        {
            $MPMEDIA->filestype_id = 300;
        }

        $ly_MediaFolder = AxValuePost::PostFolder($chn_folder, $css_and_folder, $MPMEDIA->PMediaFile->extension);

        if ($MPMEDIA->PMediaFile->extension === 'mp3')
        {
            if ($MPMEDIA->save())
            {

            $MAUDIO = new Audio;

            $MAUDIO->post_id = $MPMEDIA->post_id;
            $MAUDIO->channel_id = $CHNID;
            $MAUDIO->user_id = $USRID;

            (new self)->UploadAudio($MPMEDIA, $MAUDIO, $ly_MediaName, $ly_MediaFolder);
            }
        }
        return $MPMEDIA->save(false);
    }
}
我的看法是:

<?php $form = ActiveForm::begin(['options' => ['id' => 'upload-media-form', 'enctype' => 'multipart/form-data']]) ?>

                <?= $form->field($model, 'PMediaFile')->fileInput() ?>

                <?= $form->field($model, 'post_text')->textarea(['rows' => 2]) ?>

                <?= $form->field($model, 'permission_id')->dropdownList($model_Permission->PermissionType()) ?>

                <div class="text-right"><?= Html::submitButton(Yii::t('app', 'Save'), ['class' => 'btn btn-success']) ?></div>

                <?php ActiveForm::end(); ?>


在一次性或逐个上载多个文件时,您是否会出现这种行为?如果不上载文件,是否会显示任何错误?这是否是按顺序发生的,即每第2次或第3次尝试或特定文件的情况?逐个上载文件我不使用多次上载如果您已安装
ffmpeg
,您可以检查文件是否为有效的mp3格式。我将尝试安装它