Thinkphp+smarty+uploadify实现无刷新上传

前端技术 2023/09/01 PHP

本文实例讲述了Thinkphp+smarty+uploadify实现无刷新上传的方法。分享给大家供大家参考。具体如下:

模板文件代码:

<!DOCTYPE html>
<html lang=\"cn\">
 <head>
  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
  <link href=\"<{$smarty.const.PUBLIC_PATH}>/Uploadify/uploadify.css\" rel=\"stylesheet\" type=\"text/css\" />
  <script src=\"<{$smarty.const.PUBLIC_PATH}>/Uploadify/jquery.js\" type=\"text/javascript\"></script>
  <script src=\"<{$smarty.const.PUBLIC_PATH}>/Uploadify/jquery.uploadify.min.js\" type=\"text/javascript\"></script>
 </head>
 <script type=\"text/javascript\">
  $(function() {
   $(\"#file_upload\").uploadify({
    //指定swf文件
    \'swf\': \'<{$smarty.const.PUBLIC_PATH}>/Uploadify/uploadify.swf\',
    //后台处理的页面
    \'uploader\': \"<{U(\'home/Login/Uploads\',\'\',false)}>\",
    //按钮显示的文字
    \'buttonText\': \'上传图片\',
     //显示的高度和宽度
    \"height\" : 30,
    \'fileTypeDesc\': \'Image Files\',
    //允许上传的文件后缀
    \'fileTypeExts\': \'*.gif; *.jpg; *.png\',
    //发送给后台的其他参数通过formData指定
    //\'formData\': { \'someKey\': \'someValue\', \'someOtherKey\': 1 },
    \"method\" : \'post\',//方法,服务端可以用$_POST数组获取数据
    \'removeTimeout\'  : 1,
    \"onUploadSuccess\" : uploadPicture
  });
  //可以根据自己的要求来做相应处理
  function uploadPicture(file, data){
    var data = eval(\'(\' + data + \')\');
   if(data.errorcode){
    alert(data.errormsg); 
   } else {
    alert(data.errormsg);
   }
  } 
 });
</script>
 <body>
  <input type=\"file\" name=\"file_upload\" id=\"file_upload\" />
 </body>
</html>

控制器代码:

public function uploads(){
  $arr = array( \"errorcode\"=>\"1\",\"errormsg\"=>\"上传成功!\");
  $model = M(\'applicant\');
  if (!empty($_FILES)) {
    //图片上传设置
    $config = array( 
    \'maxSize\' => 1000000, 
    \'rootPath\' => \'Public\',
    \'savePath\' => \'/Uploads/\', 
    \'saveName\' => array(\'uniqid\',\'\'), 
    \'exts\'  => array(\'jpg\', \'gif\', \'png\', \'jpeg\'), 
    \'autoSub\' => false, 
    \'subName\' => array(\'date\',\'Ymd\'),
   );
   $upload = new \\Think\\Upload($config);// 实例化上传类
  $info = $upload->upload();
   if($info){
    $arr[\'errorcode\'] = \"0\";
   } else {
    $arr[\"errorcode\"] = \"1\";
    $arr[\"errormsg\"] = $upload->getError();
   }
   /* 返回JSON数据 */
   $this->ajaxReturn($arr);
  }
}

希望本文所述对大家的php程序设计有所帮助。

本文地址:https://www.stayed.cn/item/2551

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。