我正在使用cakephp 2.1,我正在尝试上传文件以及如何检索文件的扩展名。
数据库/用户
Id Auto_Increment
username
file_name
控制器/用户控制器.php
public function register(){
if ($this->request->is('post')){
$filename = $this->data['User']['file_name']['name'];
//$temp_ext = $this->data['User']['resume_file']['ext'];
$this->Session->setFlash('Extension : ' . $temp_ext);
}
}
当尝试上面的代码时,得到扩展名。 它只给出单个字母,如L,r,即文件名的第一个字符,但没有扩展名
现在我如何获得文件的扩展名..我浏览了此链接
http://api.cakephp.org/class/file
但无法理解检索文件。
将调试报告添加到@Julian霍尔曼
array(
'User' => array(
'file_name' => array(
'name' => '550992_234300256686731_213914803_n.jpg',
'type' => 'image/jpeg',
'tmp_name' => 'D:'xampp'tmp'php866F.tmp',
'error' => (int) 0,
'size' => (int) 42292
)
)
)
首先,您的数据应该在$this->request->data
如果你想看看里面有什么,就debug($this->request->data);
编辑:正确答案是:
$filename = $this->request->data['User']['file_name']['name'];
$extension = pathinfo($filename, PATHINFO_EXTENSION);
另请参阅PHP手册
$filename = $this->data['User']['file_name']['name'];
$this->request->data['User']['file_name'] = $filename;
$fileExt = explode(".", $filename);
$fileExt2 = end($fileExt);
试试这个...它会给你扩展