загрузка аудио в cakephp2.4

Я хочу загрузить аудиофайлы (введите mp3,acc,wav). Я использую cakephp 2.4.1 stable и php5 stable. Я пробовал mime_content_type,finfo_file, чтобы проверить, является ли загруженный файл аудиофайлом с типом mp3, acc или wav. Но я понимаю

`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.

Вот мой код 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. Как я могу проверить тип файла? Сначала я хочу проверить его тип пантомимы, а затем сохранить его.
  2. Почему я не получаю tmp_name для загруженного файла?
  3. Почему я получаю сообщение об ошибке для mime_content_type?

Кто-нибудь может мне объяснить? мне было бы полезно


person Aryan    schedule 26.10.2013    source источник


Ответы (1)


Посмотрите на данные, загрузка была отклонена из-за ошибки. 1 равно UPLOAD_ERR_INI_SIZE, и причина этого:

Загруженный файл превышает директиву upload_max_filesize в php.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.

person ndm    schedule 26.10.2013