0

フロントエンドに画像を表示するための Joomla 2.5 コンポーネントを作成しています。管理者側では、複数の画像を保存するためにファイル アップローダーを使用する必要があります。誰かがそれを行うためのソースを教えてもらえますか? 書いたファイルをアップロードする機能です。

        function fileUpload($max, $module_dir, $file_type, $msg){
          $file = JRequest::getVar('file_upload', null, 'files', 'array'); 
         if(isset($file)){ 
            //Clean up filename to get rid of strange characters like spaces etc
            $filename = JFile::makeSafe($file['name']);

            if($file['size'] > $max) $msg = JText::_('ONLY_FILES_UNDER').' '.$max;
            //Set up the source and destination of the file

            $src = $file['tmp_name'];
            $dest = $module_dir . DS . $filename;

            //First check if the file has the right extension, we need jpg only
            if ($file['type'] == $file_type || $file_type == '*') { 
               if ( JFile::upload($src, $dest) ) {

                   //Redirect to a page of your choice
                    $msg = JText::_('FILE_SAVE_AS').' '.$dest;
               } else {
                      //Redirect and throw an error message
                    $msg = JText::_('ERROR_IN_UPLOAD');
               }
            } else {
               //Redirect and notify user file is not right extension
                    $msg = JText::_('FILE_TYPE_INVALID');
            }

            $msg = "<script>alert('". $msg ."');</script>";
          }
          return $msg;
           }

        $user =& JFactory::getUser();
       $username = $user->get('username');

         $acc = 0;
         $session =& JFactory::getSession(); 

        if(isset($user_names)) {
      $more = strpos($user_names, ',',0);
        if($more >0){
            $user_names = explode(',',$user_names);
            foreach($user_names as $un){
                    if($un == $username) {
                            $session->set($acc, 1); 
                    }else{
                            $session->set($acc, 0); 
                    }
            }
           }else{
            if ($user_names == $username) $session->set($acc, 1); 
     }
   else{
    if(isset($username)) $session->set($acc, 1); 
    }

   if($session->get($acc) == 1){
    ?>



  <?php
    print fileUpload($max, $module_dir, $file_type, $msg);
  }
4

2 に答える 2

0

イメージまたはファイルのアップロード機能用のコンポーネントを作成するために、SWF ファイル アップローダーを使用できます。このリンクを参照してください。

コンポーネントでファイル アップローダーを作成する

于 2013-01-04T14:24:51.013 に答える
0

Tornado が述べたように、SWFUpload スクリプトを使用できます。ただし、これを使用しようとすると、ドキュメントがあまり良くないため、統合にかなり時間がかかりました。したがって、あなたのようなサードパーティのコンポーネントに簡単に統合できる、これに基づくスタンドアロン コンポーネントを作成することにしました。使用したい場合は、次の場所からダウンロードできます。

http://joomjunk.co.uk/products/component-home/swfupload.html

また、何をする必要があり、どのファイルを編集する必要があるかを示す小さなドキュメント タブもあります。

お役に立てれば

于 2013-01-04T16:13:22.780 に答える