cakePHP:从tmp_name中提取没有文件路径的文件名

时间:2014-07-10 09:33:24

标签: php cakephp file-upload

在我的cakePHP模型中,我尝试使用自定义验证器将文件移动到新位置,检查其成功与否。 自定义方法是:

    //custom method to check image
public function processCoverUpload($check = array()) {
    if (!is_uploaded_file($check['issue_cover']['tmp_name'])) {
        return FALSE;
    }
    if (!move_uploaded_file($check['issue_cover']['tmp_name'], WWW_ROOT . 'img' . DS . 'uploads' . DS . $check['issue_cover']['tmp_name'])) {
        return FALSE;
    }
    $this->data[$this->alias]['issue_cover'] = 'uploads' . DS . $check['issue_cove']['tmp_name'];
    return TRUE;
}

但是$check['issue_cove']['tmp_name']会返回文件名,包括其路径。 这将导致move_uploaded_file中的路径字符串错误。那么我怎么能只有'tmp_name'?

的文件名

样品

$ check [' issue_cove'] [' tmp_name']为F:\xampp\tmp\phpF765.tmp但我只想phpF765.tmp

1 个答案:

答案 0 :(得分:0)

这是一种方式 - 可能更好的方式: - )

$fname = end(explode('\\',$check['issue_cover']['tmp_name']));

$ fname现在应该有你想要的字符串。

ps假设它应该是issue_cover而不是issue_cove,所以如果我的假设不正确则改变!