Cakephp-使用fileupload插件上传文件时发生内部服务器错误

史密特·卡尔沃尔

我正在做一个cakephp项目(Croogo版本)。用户可以在此处添加附件。但是我面临着依恋问题。我正在使用此插件添加附件。这对我在本地系统上正常工作,但在在线站点上抛出错误。

这是错误

发生内部错误。

我不知道为什么会这样。这个你能帮我吗。提前致谢

史密特·卡尔沃尔

我通过注释用于上传和检查验证的模型中的验证来解决。这是我的代码:

var $ validate = array('order_id'=> array('numeric'=> array('rule'=> array('numeric'),'message'=>'订单ID必须为数字',//'allowEmpty' => false,//'required'=> false,//'last'=> false,//在此规则后停止验证//'on'=>'create',//将验证限制为'create'或'更新)),)/ *'附件'=> array('uploadError'=> array('rule'=>'uploadError','message'=>'封面图像上传失败。','allowEmpty'=> TRUE,),'mimeType'=> array('rule'=> array('mimeType',array('image / gif','image / png','image / jpg','image / jpeg','image / bmp”,“图片/ x-icon”,“应用/ pdf”,“应用/ powerpoint”,“应用/ msword”,“应用/ rtf”,“文本/纯文本”,“应用/vnd.openxmlformats-officedocument.wordprocessingml.document” ,“ application / vnd.openxmlformats-officedocument.presentationml.presentation”,“ application / vnd.openxmlformats-officedocument.spreadsheetml.sheet”,“ application / vnd.oasis.opendocument.text”,“ application / vnd.oasis.opendocument”。电子表格','application / vnd.oasis.opendocument.presentation','application / vnd.oasis.opendocument.image')),'message'=>'请仅上传Word文档,PowerPoint,Adobe Reader文件(PDF),图片。','allowEmpty'=> TRUE,),'fileSize'=> array('rule'=> array('fileSize','<=','7MB'),'message'=>'封面图像必须小于7MB。','allowEmpty'=> TRUE,),'processCoverUpload'=> array('rule'=>'processCoverUpload', 'message'=>'无法处理封面图片上传。','allowEmpty'=> TRUE,),),* /);

以及上传文件的功能。

公共函数processCoverUpload($ check = array()){$ remove_these = array('','`','“','\','\','/'); $ file_name = $ check ['attachement '] ['name']; $ file_name = str_replace($ remove_these,``,$ file_name); $ path_parts = pathinfo($ file_name); $ file_name = $ path_parts ['filename'] .'_'。time() 。'。'。$ path_parts ['extension']; $ directory = date('Y / m /'); $ upload_path ='uploads'.DS.'attachments'.DS。$ directory; $ upload_dir = WWW_ROOT。$ upload_path;

    if(!file_exists($upload_dir)) mkdir($upload_dir, 0755, true);

    if (!is_uploaded_file($check['attachement']['tmp_name'])) {
        return FALSE;
    }
    if (!move_uploaded_file($check['attachement']['tmp_name'], $upload_dir.$file_name)) {
        return FALSE;
    }
    $this->data[$this->alias]['attachement'] = $upload_path.$file_name;

    return true;
}

我评论了以上内容,并在控制器中进行了验证。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章