1

yii で提供されている拡張機能を使用したい。

アップロードされたファイルを圧縮/解凍するための yii の拡張機能を提案してください。サーバーまたはディレクトリに保存し、ダウンロード中に解凍します。

ここでは、拡張機能 EAjaxUpload 拡張機能を使用してファイルをアップロードしています。

ビューで

<?php
$this->widget('ext.EAjaxUpload.EAjaxUpload',
        array(
       'id'=>'uploadResume',
                'config'=>array(
                       'action'=>Yii::app()->baseUrl.'/index.php?r=site/word', 
                       'allowedExtensions'=>array("doc","docx"),
                       'sizeLimit'=>10*1024*1024,
                       'minSizeLimit'=>1*1024,
                       'multiple'=>false,
                       'onComplete'=>'js:function(id, fileName, responseJSON){alert(messages);}),
?>

コントローラーで

    action{
    Yii::import("ext.EAjaxUpload.qqFileUploader");
    $folder = 'Resumes/';
            $allowedExtensions = array("doc","docx");
    $sizeLimit = 10 * 1024 *1024;
    $uploader = new qqFileUploader($allowedExtensions, $sizeLimit);
    $result = $uploader->handleUpload($folder);
    if(isset($result['success']))
            if($result['success']==true)
            {

                $fileSize=filesize($folder.$result['filename']);
            $fileName=$result['filename'];
                $mimetype = $fileName['mime']; 
            }
           // rename($folder.$result['filename'],$folder.$fileName);
           $return = htmlspecialchars(json_encode($result), ENT_NOQUOTES);
       echo $return;

    }

.

4

1 に答える 1

0

tar や zip/unzip などのシステム ツールを使用する必要があります。yii から、このコマンドをexecまたはsystemで呼び出すことができます。

于 2012-10-03T15:08:24.273 に答える