2013-10-26 2 views
0

오디오 파일 (유형 mp3, acc, wav)을 업로드하고 싶습니다. cakephp 2.4.1 stablephp5 stable을 사용하고 있습니다. 업로드 된 파일이 mp3, acc 또는 wav 형식의 오디오 파일인지 확인하려면 mime_content_type, finfo_file을 시도했습니다. 그러나 나는 얻을이cakephp2.4에서 오디오 업로드

내 응용 프로그램 디렉토리와 웹 루트의 디렉토리는 여기 0777.

view.ctp 코드 permited된다

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

:

<?= $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; 
       } 

  1. 나는 파일의 유형을 확인할 수 있습니다 방법 : 여기 내 데이터

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

    내 질문은 무엇입니까? 먼저 MIME 형식을 확인한 다음 저장하려고합니다.

  2. 업로드 된 파일에 tmp_name이 표시되지 않는 이유는 무엇입니까?
  3. 왜 mime_content_type에 오류가 발생합니까?

누구나 설명 할 수 있습니까? 그것은 나에게 도움이 될 것입니다

답변

1

데이터를 보면 오류가 있으므로 업로드가 삭제되었습니다. 1UPLOAD_ERR_INI_SIZE 동일하고, 이에 대한 원인은 다음과 같습니다

업로드 된 파일이 php.iniupload_max_filesize 지시어를 초과합니다.

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

그래서 당신이 값을 증가시켜야 참조, 대부분의 아마 또한 post_max_size, 자세한 내용은 http://php.net/manual/features.file-upload.common-pitfalls.php를 참조하십시오.

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

해야한다 :

그리고 업로드가 작동하면 올바른 키를 사용해야합니다, 그것은 또한 당신이 다음이 즉, tmp_name을 사용해야합니다, audio_1하지 audio_입니다
$this->request->data['Homepage']['audio_1']['tmp_name'] 

보조 노트에 mime_content_type은 (는) Fileinfo 확장자를 사용합니다.