ホームページ  >  記事  >  バックエンド開発  >  phpテンプレートとjsアップロードプラグインを組み合わせて更新不要のアップロードを実現する方法

phpテンプレートとjsアップロードプラグインを組み合わせて更新不要のアップロードを実現する方法

墨辰丷
墨辰丷オリジナル
2018-06-08 09:38:361580ブラウズ

この記事では主にphpテンプレートとjsアップロードプラグインを組み合わせて更新不要のアップロードを実現する方法を紹介しますので、興味のある方は参考にしていただければ幸いです。

テンプレート ファイル コード:

<!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文件
    &#39;swf&#39;: &#39;<{$smarty.const.PUBLIC_PATH}>/Uploadify/uploadify.swf&#39;,
    //后台处理的页面
    &#39;uploader&#39;: "<{U(&#39;home/Login/Uploads&#39;,&#39;&#39;,false)}>",
    //按钮显示的文字
    &#39;buttonText&#39;: &#39;上传图片&#39;,
     //显示的高度和宽度
    "height" : 30,
    &#39;fileTypeDesc&#39;: &#39;Image Files&#39;,
    //允许上传的文件后缀
    &#39;fileTypeExts&#39;: &#39;*.gif; *.jpg; *.png&#39;,
    //发送给后台的其他参数通过formData指定
    //&#39;formData&#39;: { &#39;someKey&#39;: &#39;someValue&#39;, &#39;someOtherKey&#39;: 1 },
    "method" : &#39;post&#39;,//方法,服务端可以用$_POST数组获取数据
    &#39;removeTimeout&#39;  : 1,
    "onUploadSuccess" : uploadPicture
  });
  //可以根据自己的要求来做相应处理
  function uploadPicture(file, data){
    var data = eval(&#39;(&#39; + data + &#39;)&#39;);
   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(&#39;applicant&#39;);
  if (!empty($_FILES)) {
    //图片上传设置
    $config = array( 
    &#39;maxSize&#39; => 1000000, 
    &#39;rootPath&#39; => &#39;Public&#39;,
    &#39;savePath&#39; => &#39;/Uploads/&#39;, 
    &#39;saveName&#39; => array(&#39;uniqid&#39;,&#39;&#39;), 
    &#39;exts&#39;  => array(&#39;jpg&#39;, &#39;gif&#39;, &#39;png&#39;, &#39;jpeg&#39;), 
    &#39;autoSub&#39; => false, 
    &#39;subName&#39; => array(&#39;date&#39;,&#39;Ymd&#39;),
   );
   $upload = new \Think\Upload($config);// 实例化上传类
  $info = $upload->upload();
   if($info){
    $arr[&#39;errorcode&#39;] = "0";
   } else {
    $arr["errorcode"] = "1";
    $arr["errormsg"] = $upload->getError();
   }
   /* 返回JSON数据 */
   $this->ajaxReturn($arr);
  }
}

概要: 上記がこの記事の全内容です。学習は誰にとっても役立ちます。

関連する推奨事項:

PHP 現在の変数タイプの背景、プロセス、解決策を表示します

php Imagick をベースにしています。 画像に透かしやテキストを追加する機能を実装します。

#php は、審査員のスコアラーの機能を実装します。

以上がphpテンプレートとjsアップロードプラグインを組み合わせて更新不要のアップロードを実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。