0

我想上传我正在使用的音频文件(类型mp3、、、acc)和。我已经尝试检查上传的文件是否为 mp3、acc 或 wav 类型的音频文件。但我明白了wavcakephp 2.4.1 stablephp5 stablemime_content_typefinfo_file

`error mime_content_type(059.piya basanti re... [piya basanti][2000].mp3): failed to open stream: No such file or directory [APP/Controller/AdminController.php, line 86]`

0777 允许我的应用程序目录和 webroot 目录。

这是我的view.ctp代码:

<?= $this->Form->create('Homepage',array('type'=>'file'));
echo $this->Form->input('audio_1',array('type'=>'file'));
echo $this->Form->submit('Submit');
echo $this->Form->end(); ?>

我的控制器代码

    public function saveaudio() {
            if($this->request->is('post')) {
                $this->loadModel('Homepage');
//this is line 86//   $file = mime_content_type($this->request->data['Homepage']['audio_1']['name']);
                 pr($file);exit;
              }

这是我的数据

Array
(
    [Homepage] => Array
        (
            [audio_1] => Array
                (
                    [name] => 059.piya basanti re... [piya basanti][2000].mp3
                    [type] => 
                    [tmp_name] => 
                    [error] => 1
                    [size] => 0
                )

        )
)

我的问题是:

  1. 如何检查文件类型?首先我想检查它的 mime 类型然后我想保存它
  2. 为什么我没有获得上传文件的 tmp_name?
  3. 为什么我收到 mime_content_type 错误?

谁能解释我?这对我有帮助

4

1 回答 1

1

看数据,上传有错误被丢弃。1等于UPLOAD_ERR_INI_SIZE,其原因是:

上传的文件超出upload_max_filesizephp.ini.

http://php.net/manual/features.file-upload.errors.php

因此,您必须增加该值,而且很可能还需要增加该值,post_max_size请参阅http://php.net/manual/features.file-upload.common-pitfalls.php了解更多信息。

一旦上传成功,您将必须使用正确的密钥,它是audio_1,不是audio_,您还必须使用tmp_name,即:

$this->request->data['Homepage']['audio_']['name']

应该是这个

$this->request->data['Homepage']['audio_1']['tmp_name']

在旁注中,mime_content_type不推荐使用以支持Fileinfo扩展。

于 2013-10-26T12:46:52.447 回答