我想上传音频文件(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]`
我的app dir和webroot dir被授予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
)
)
)
我的问题是:
任何人都可以解释一下吗?这对我有帮助
答案 0 :(得分:1)
查看数据,上传被丢弃,因为有错误。 1
等于UPLOAD_ERR_INI_SIZE
,其原因是:
上传的文件超出了
php.ini
中的upload_max_filesize
指令。
请参阅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
扩展名。