ueditor及My97DatePicker等插件使用方法

1.ueditor富文本编辑器

<script src="__PUBLIC__/ueditor/ueditor.config.js" type="text/javascript"></script>//引入

<script src="__PUBLIC__/ueditor/ueditor.all.js" type="text/javascript"></script>//引入

<textarea name="content" rows="100%" style="width:100%" id="myEditor"></textarea>  //使用
<script type="text/javascript">
        var editor = new UE.ui.Editor();
        editor.render("myEditor");
</script>

 

2.My97DatePicker日期控件

<script type="text/javascript" src="__ROOT__/Public/My97DatePicker/WdatePicker.js"></script>//引入

<input type="text"  class="Wdate" id="actStarttime" onFocus="WdatePicker({lang:'zh-cn'})" />//使用

 

 

3.webuploader多图上传插件

webuploader->dist->upload.js->158行左右

server:'http://localhost/index.php/Admin/Info/upload',上传的控制器方法,本地服务器配置若是不能使用localhost访问,应该使用127.0.0.1

不支持jpeg格式

 

“上传失败,请重试”问题:server设置有误,如果更改后不起作用需稍后重试。

 

 

以下是前端引入:

    <div id="wrapper">
        <div id="container">
            <!--头部,相册选择和格式选择-->
            <div id="uploader">
                <div class="queueList">
                    <div id="dndArea" class="placeholder">
                        <div id="filePicker"></div>
                        <p>或将照片拖到这里,单次最多可选9张</p>
                    </div>
                </div>
                <div class="statusBar" style="display:none;">
                    <div class="progress">
                        <span class="text">0%</span>
                        <span class="percentage"></span>
                    </div><div class="info"></div>
                    <div class="btns">
                        <div id="filePicker2"></div><div class="uploadBtn">开始上传</div>
                    </div>
                    <input type="hidden" />
                </div>
            </div>
        </div>
    </div>

<script type="text/javascript" src="__ROOT__/Public/webuploader/dist/jquery.js"></script>
    <script type="text/javascript" src="__ROOT__/Public/webuploader/dist/webuploader.js"></script>
    <script type="text/javascript" src="__ROOT__/Public/webuploader/dist/upload.js"></script>

 

以下是upload方法:

public function upload()
    {

        // Support CORS
        // header("Access-Control-Allow-Origin: *");
        // other CORS headers if any...
        if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS')
        {
            exit; // finish preflight CORS requests here
        }
        if ( !empty($_REQUEST[ 'debug' ]) )
        {
            $random = rand(0, intval($_REQUEST[ 'debug' ]) );
            if ( $random === 0 ) {
                header("HTTP/1.0 500 Internal Server Error");
                exit;
            }
        }
        // 5 minutes execution time
        @set_time_limit(5 * 60);
        // Uncomment this one to fake upload time
        // usleep(5000);
        // Settings
        // $targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
        $targetDir = 'upload_tmp';
        $uploadDir = 'upload';//存储文件夹
        $cleanupTargetDir = true; // Remove old files
        $maxFileAge = 5 * 3600; // Temp file age in seconds
        // Create target dir
        if (!file_exists($targetDir))
        {
            @mkdir($targetDir);
        }
        // Create target dir
        if (!file_exists($uploadDir))
        {
            @mkdir($uploadDir);
        }
        // Get a file name
        if (isset($_REQUEST["name"]))
        {
            $fileName = $_REQUEST["name"];
        }
        elseif (!empty($_FILES))
        {
            $fileName =$_FILES["file"]["name"];
        }
        else
        {
            $fileName = uniqid("file_");
        }
        $filePath = $targetDir . DIRECTORY_SEPARATOR . $fileName;
        //改名
        $arr=explode(".", $fileName);
        $hzz=$arr[count($arr)-1];
        $randname=date("Y").date("m").date("d").date("H").date("i").date("s").rand(100, 999).".".$hzz;
        $returnArr=array(
                'imgpath'=>$randname,
            );
        $returnArr=json_encode($returnArr);
        echo $returnArr;
        $uploadPath = $uploadDir . DIRECTORY_SEPARATOR . $randname;
        // Chunking might be enabled
        $chunk = isset($_REQUEST["chunk"]) ? intval($_REQUEST["chunk"]) : 0;
        $chunks = isset($_REQUEST["chunks"]) ? intval($_REQUEST["chunks"]) : 1;
        // Remove old temp files
        if ($cleanupTargetDir)
        {
            if (!is_dir($targetDir) || !$dir = opendir($targetDir))
            {
                die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": "Failed to open temp directory."}, "id" : "id"}');
            }
            while (($file = readdir($dir)) !== false)
            {
                $tmpfilePath = $targetDir . DIRECTORY_SEPARATOR . $file;

                // If temp file is current file proceed to the next
                if ($tmpfilePath == "{$filePath}_{$chunk}.part" || $tmpfilePath == "{$filePath}_{$chunk}.parttmp")
                {
                    continue;
                }
                // Remove temp file if it is older than the max age and is not the current file
                if (preg_match('/\.(part|parttmp)$/', $file) && (@filemtime($tmpfilePath) < time() - $maxFileAge))
                {
                    @unlink($tmpfilePath);
                }
            }
            closedir($dir);
        }
        // Open temp file
        if (!$out = @fopen("{$filePath}_{$chunk}.parttmp", "wb"))
        {
            die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
        }

        if (!empty($_FILES))
        {
            if ($_FILES["file"]["error"] || !is_uploaded_file($_FILES["file"]["tmp_name"]))
            {
                die('{"jsonrpc" : "2.0", "error" : {"code": 103, "message": "Failed to move uploaded file."}, "id" : "id"}');
            }
            // Read binary input stream and append it to temp file
            if (!$in = @fopen($_FILES["file"]["tmp_name"], "rb"))
            {
                die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
            }
        }
        else
        {
            if (!$in = @fopen("php://input", "rb"))
            {
                die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
            }
        }
        while ($buff = fread($in, 4096))
        {
            fwrite($out, $buff);
        }
        @fclose($out);
        @fclose($in);
        rename("{$filePath}_{$chunk}.parttmp", "{$filePath}_{$chunk}.part");
        $index = 0;
        $done = true;
        for( $index = 0; $index < $chunks; $index++ )
        {
            if ( !file_exists("{$filePath}_{$index}.part") )
            {
                $done = false;
                break;
            }
        }
        if ( $done )
        {
            if (!$out = @fopen($uploadPath, "wb"))
            {
                die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
            }
            if ( flock($out, LOCK_EX) )
            {
                for( $index = 0; $index < $chunks; $index++ )
                {
                    if (!$in = @fopen("{$filePath}_{$index}.part", "rb"))
                    {
                        break;
                    }
                    while ($buff = fread($in, 4096))
                    {
                        fwrite($out, $buff);
                    }
                    @fclose($in);
                    @unlink("{$filePath}_{$index}.part");
                }
                flock($out, LOCK_UN);
            }
            @fclose($out);
        }
        // Return Success JSON-RPC response
       // die('{"jsonrpc" : "2.0", "result" : null, "id" : "id"}');
    }

 

posted @ 2016-07-11 11:54  一只小鬼  阅读(615)  评论(0编辑  收藏  举报