当前位置: 首页>>代码示例>>PHP>>正文


PHP _mkdir_p函数代码示例

本文整理汇总了PHP中_mkdir_p函数的典型用法代码示例。如果您正苦于以下问题:PHP _mkdir_p函数的具体用法?PHP _mkdir_p怎么用?PHP _mkdir_p使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了_mkdir_p函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: macro_Clip

function macro_Clip($formatter, $value)
{
    global $DBInfo;
    $keyname = $DBInfo->_getPageKey($formatter->page->name);
    $_dir = str_replace("./", '', $DBInfo->upload_dir . '/' . $keyname);
    // support hashed upload dir
    if (!is_dir($_dir) and !empty($DBInfo->use_hashed_upload_dir)) {
        $prefix = get_hashed_prefix($keyname);
        $_dir = str_replace('./', '', $DBInfo->upload_dir . '/' . $prefix . $keyname);
    }
    $name = _rawurlencode($value);
    $enable_edit = 0;
    umask(00);
    if (!file_exists($_dir)) {
        _mkdir_p($_dir, 0777);
    }
    $pngname = $name . '.png';
    $now = time();
    $url = $formatter->link_url($formatter->page->name, "?action=clip&value={$name}&now={$now}");
    if (!file_exists($_dir . "/{$pngname}")) {
        return "<a href='{$url}'>" . _("Paste a new picture") . "</a>";
    }
    $edit = '';
    $end_tag = '';
    if ($enable_edit) {
        $edit = "<a href='{$url}'>";
        $end_tag = '</a>';
    }
    return "{$edit}<img src='{$DBInfo->url_prefix}/{$_dir}/{$pngname}' border='0' alt='image' />{$end_tag}\n";
}
开发者ID:ahastudio,项目名称:moniwiki,代码行数:30,代码来源:Clip.php

示例2: _mkdir_p

function _mkdir_p($target, $mode = 0777)
{
    // from php.net/mkdir user contributed notes
    if (file_exists($target)) {
        if (!is_dir($target)) {
            return false;
        } else {
            return true;
        }
    }
    // recursivly create dirs.
    return _mkdir_p(dirname($target), $mode) and mkdir($target, $mode);
}
开发者ID:reviforks,项目名称:moniwiki,代码行数:13,代码来源:wikilib.php

示例3: processor_pic

function processor_pic($formatter, $value = "")
{
    global $DBInfo;
    $GROFF = "groff -e -p -ms -Tps ";
    $CONVERT = "convert -transparent white -density 120x120 -crop 0x0 -trim ";
    $vartmp_dir =& $DBInfo->vartmp_dir;
    if (getenv("OS") == "Windows_NT") {
        $NULL = 'NUL';
        $vartmp_dir = getenv('TEMP');
        #$convert="wconvert";
    }
    $cache_dir = $DBInfo->upload_dir . "/PIC";
    $cache_url = !empty($DBInfo->upload_url) ? $DBInfo->upload_url . '/PIC' : $DBInfo->url_prefix . '/' . $cache_dir;
    if ($value[0] == '#' and $value[1] == '!') {
        list($line, $value) = explode("\n", $value, 2);
    }
    $pic_script = $value;
    # print "<pre>$pic_script</pre>";
    $uniq = md5($pic_script);
    if ($DBInfo->cache_public_dir) {
        $fc = new Cache_text('pic', array('ext' => 'png', 'dir' => $DBInfo->cache_public_dir));
        $pngname = $fc->getKey($uniq, false);
        $outpath_png = $DBInfo->cache_public_dir . '/' . $pngname;
        $png_url = $DBInfo->cache_public_url ? $DBInfo->cache_public_url . '/' . $pngname : $DBInfo->url_prefix . '/' . $outpath_png;
    } else {
        $outpath_png = $cache_dir . '/' . $uniq . '.png';
        $png_url = $cache_url . '/' . $uniq . '.png';
    }
    $outpath_pic = "{$vartmp_dir}/{$uniq}.pic";
    $outpath_ps = "{$vartmp_dir}/{$uniq}.ps";
    if (!file_exists(dirname($outpath_png))) {
        umask(00);
        _mkdir_p(dirname($outpath_png), 0777);
        umask(022);
    }
    if ($formatter->refresh || !file_exists($outpath_png)) {
        # write to pic script file
        $ifp = fopen("{$outpath_pic}", "w");
        fwrite($ifp, $pic_script);
        fclose($ifp);
        # convert processing
        $fp = popen("{$GROFF} {$outpath_pic} >{$outpath_ps}" . $formatter->NULL, 'r');
        pclose($fp);
        $fp = popen("{$CONVERT} {$outpath_ps} {$outpath_png}" . $formatter->NULL, 'r');
        pclose($fp);
        # delete temporary files
        unlink($outpath_ps);
        unlink($outpath_pic);
    }
    return "<img class='tex' src='{$png_url}' alt='pic' />";
}
开发者ID:ahastudio,项目名称:moniwiki,代码行数:51,代码来源:pic.php

示例4: TitleIndexer_Text

 function TitleIndexer_Text($name = 'titleindexer')
 {
     global $Config;
     $this->text_dir = $Config['text_dir'];
     $this->cache_dir = $Config['cache_dir'] . '/' . $name;
     if (!is_dir($this->cache_dir)) {
         $om = umask(00);
         _mkdir_p($this->cache_dir, 0777);
         umask($om);
     }
     $this->pagelst = $this->cache_dir . '/' . $name . '.lst';
     $this->pagecnt = $this->cache_dir . '/' . $name . '.cnt';
     $this->pagelck = $this->cache_dir . '/' . $name . '.lock';
 }
开发者ID:NessunKim,项目名称:MW_Skins,代码行数:14,代码来源:titleindexer.text.php

示例5: TitleIndexer_Text

 function TitleIndexer_Text($name = 'titleindexer')
 {
     global $Config;
     if (strtolower($Config['charset']) != 'utf-8') {
         $this->_match_flags = 'im';
     }
     $this->text_dir = $Config['text_dir'];
     $this->cache_dir = $Config['cache_dir'] . '/' . $name;
     if (!is_dir($this->cache_dir)) {
         $om = umask(00);
         _mkdir_p($this->cache_dir, 0777);
         umask($om);
     }
     $this->pagelst = $this->cache_dir . '/' . $name . '.lst';
     $this->pagecnt = $this->cache_dir . '/' . $name . '.cnt';
     $this->pagelck = $this->cache_dir . '/' . $name . '.lock';
 }
开发者ID:sedrion,项目名称:moniwiki,代码行数:17,代码来源:titleindexer.text.php

示例6: BBS_text

 function BBS_text($name, $conf)
 {
     # $conf['data_dir'] from DBInfo.
     $this->bbsname = $name;
     # XXX
     $this->text_dir = $conf['data_dir'] . '/text/' . $name . '.d';
     # XXX
     $this->data_dir = $conf['data_dir'] . '/bbs/' . $name;
     $this->cache_dir = $this->data_dir . '/cache';
     $this->dba_type = $conf['dba_type'];
     $this->use_attach = $conf['use_attach'];
     # XXX
     $this->index = $this->data_dir . '/.index';
     $this->current = $this->data_dir . '/.current';
     $this->count = $this->data_dir . '/.count';
     # XXX
     if ($conf['use_counter']) {
         $this->counter = new Counter_dba($this);
     }
     if (!$this->counter->counter) {
         $this->counter = new Counter();
     }
     if (!file_exists($this->index)) {
         umask(00);
         _mkdir_p($this->data_dir, 0777);
         // XXX
         @mkdir($this->text_dir, 0777);
         // XXX
         @mkdir($this->text_dir, 0777);
         // XXX
         umask(022);
         touch($this->index);
         touch($this->count);
         # XXX global lock.
         touch($this->text_dir . '/.lock');
         $fp = fopen($this->current, 'w');
         if ($fp) {
             fwrite($fp, '1');
             fclose($fp);
         }
     }
 }
开发者ID:ahastudio,项目名称:moniwiki,代码行数:42,代码来源:bbs.php

示例7: PageIndex

 function PageIndex($name = 'pageindex')
 {
     global $Config;
     if (strtolower($Config['charset']) != 'utf-8') {
         $this->_match_flags = 'im';
     }
     $this->text_dir = $Config['text_dir'];
     $this->cache_dir = $Config['cache_dir'] . '/' . $name;
     if (!empty($Config['pageindex_chunksize'])) {
         $this->chunksize = $Config['pageindex_chunksize'];
     }
     if (!is_dir($this->cache_dir)) {
         $om = umask(00);
         _mkdir_p($this->cache_dir, 0777);
         umask($om);
     }
     $this->pagelst = $this->cache_dir . '/' . $name . '.lst';
     $this->pageidx = $this->cache_dir . '/' . $name . '.idx';
     $this->pagecnt = $this->cache_dir . '/' . $name . '.cnt';
     $this->pagelck = $this->cache_dir . '/' . $name . '.lock';
 }
开发者ID:ahastudio,项目名称:moniwiki,代码行数:21,代码来源:PageIndex.php

示例8: _ci

 function _ci($key, $log)
 {
     $dir = dirname($key);
     if (!is_dir($dir . '/RCS')) {
         $om = umask(00);
         _mkdir_p($dir . '/RCS', 2777);
         umask($om);
     }
     $mlog = '';
     $plog = '';
     if (getenv('OS') == 'Windows_NT' and isset($log[0])) {
         // win32 cmd.exe arguments do not accept UTF-8 charset correctly.
         // just use the stdin commit msg method instead of using -m"log" argument.
         $logfile = tempnam($this->DB->vartmp_dir, 'COMMIT_LOG');
         $fp = fopen($logfile, 'w');
         if (is_resource($fp)) {
             fwrite($fp, $log);
             fclose($fp);
             $plog = ' < ' . $logfile;
         }
     }
     if (empty($plog)) {
         // $log = escapeshellarg($log); // win32 does not work correctly
         $log = '"' . preg_replace('/([\\\\"])/', "\\\\\\1", $log) . '"';
         $mlog = ' -m' . $log;
     }
     if (!empty($this->DB->rcs_always_unlock)) {
         $fp = popen("rcs -l -M {$key}", 'r');
         if (is_resource($fp)) {
             pclose($fp);
         }
     }
     $fp = @popen("ci -l -x,v/ -q -t-\"" . $key . "\" " . $mlog . " " . $key . $plog . $this->NULL, "r");
     if (is_resource($fp)) {
         pclose($fp);
     }
     if (isset($plog[0])) {
         unlink($logfile);
     }
 }
开发者ID:NessunKim,项目名称:MW_Skins,代码行数:40,代码来源:version.RCS.php

示例9: processor_gnuplot


//.........这里部分代码省略.........
        if (preg_match('/^postscript\\s*(enhanced|color)?/', $tmatch[2])) {
            // XXX
            $term = $tmatch[2];
            $ext = 'ps';
            $size = '#set term ' . $term;
        } else {
            if (preg_match('/^svg/', $tmatch[2])) {
                $term = $tmatch[2];
                $ext = 'svg';
                $size = "set size 1.0,1.0\n#set term " . $term;
            }
        }
    }
    if ($term != 'dumb') {
        $plt = "\n" . $size . "\n" . $plt;
    }
    $uniq = md5($plt);
    if ($DBInfo->cache_public_dir) {
        $fc = new Cache_text('gnuplot', array('ext' => $ext, 'dir' => $DBInfo->cache_public_dir));
        $pngname = $fc->getKey($uniq, false);
        $png = $DBInfo->cache_public_dir . '/' . $pngname;
        $png_url = $DBInfo->cache_public_url ? $DBInfo->cache_public_url . '/' . $pngname : $DBInfo->url_prefix . '/' . $png;
        $cache_dir = $DBInfo->cache_public_dir;
    } else {
        $cache_dir = $DBInfo->upload_dir . "/GnuPlot";
        $cache_url = $DBInfo->upload_url ? $DBInfo->upload_url . '/GnuPlot' : $DBInfo->url_prefix . '/' . $cache_dir;
        $png = $cache_dir . '/' . $uniq . ".{$ext}";
        $png_url = $cache_url . '/' . $uniq . ".{$ext}";
    }
    $outpath =& $png;
    $src = "\nset term {$term}\nset out '{$outpath}'\n{$plt}\n";
    if (!is_dir(dirname($png))) {
        $om = umask(00);
        _mkdir_p(dirname($png), 0777);
        umask($om);
    }
    $log = '';
    if ($formatter->refresh || !file_exists($outpath)) {
        $flog = tempnam($vartmp_dir, "GNUPLOT");
        #
        # for Win32 wgnuplot.exe
        #
        if (getenv("OS") == "Windows_NT") {
            $finp = tempnam($vartmp_dir, "GNUPLOT");
            $ifp = fopen($finp, "w");
            fwrite($ifp, $src);
            fclose($ifp);
            $cmd = "{$gnuplot} \"{$finp}\" > {$flog}";
            $fp = system($cmd);
            $log = join(file($flog), "");
            if (file_exists($outpath)) {
                unlink($flog);
                unlink($finp);
            } else {
                print "<font color='red'>ERROR:</font> Gnuplot does not work correctly";
            }
        } else {
            #
            # Unix
            #
            $cmd = $gnuplot;
            $formatter->errlog('GnuPlot');
            $fp = popen($cmd . $formatter->LOG, "w");
            if (is_resource($fp)) {
                fwrite($fp, $src);
                pclose($fp);
开发者ID:ahastudio,项目名称:moniwiki,代码行数:67,代码来源:gnuplot.php

示例10: processor_latex

function processor_latex(&$formatter, $value = "", $options = array())
{
    global $DBInfo;
    if (empty($formatter->latex_uniq)) {
        $formatter->latex_all = '';
        $formatter->latex_uniq = array();
    }
    $latex_convert_options = !empty($DBInfo->latex_convert_options) ? $DBInfo->latex_convert_options : "-trim -crop 0x0 -density 120x120";
    $raw_mode = isset($options['retval']) ? 1 : 0;
    # site spesific variables
    $latex = "latex";
    $dvicmd = "dvipng";
    $dviopt = '-D 120 -gamma 1.3';
    $convert = "convert";
    $mogrify = "mogrify";
    $vartmp_dir =& $DBInfo->vartmp_dir;
    $cache_dir = $DBInfo->upload_dir . "/LaTeX";
    $cache_url = !empty($DBInfo->upload_url) ? $DBInfo->upload_url . '/LaTeX' : $DBInfo->url_prefix . '/' . $cache_dir;
    $option = '-interaction=batchmode ';
    $mask = '';
    $options['dpi'] = intval($options['dpi']);
    if (preg_match('/ps$/', $dvicmd)) {
        $tmpext = 'ps';
        $dviopt = '-D 300';
        if (!empty($options['dpi'])) {
            $latex_convert_options .= ' -density ' . $options['dpi'] . 'x' . $options['dpi'];
        }
    } else {
        $tmpext = 'png';
        $mask = '-%d';
        if (!empty($options['dpi'])) {
            $dviopt = preg_replace('/-D 120/', '', $dviopt);
            $dviopt .= ' -D ' . $options['dpi'];
        }
    }
    if ($value[0] == '#' and $value[1] == '!') {
        list($line, $value) = explode("\n", $value, 2);
    }
    if (!$value) {
        if (empty($DBInfo->latex_allinone)) {
            return '';
        }
    }
    $tex = $value;
    if (!empty($DBInfo->latex_renumbering)) {
        $GLOBALS['_latex_eq_num'] = !empty($formatter->latex_num) ? $formatter->latex_num : 0;
        // renumbering
        //  just remove numbers and use \\tag{num}
        $ntex = preg_replace_callback('/\\\\begin\\{\\s*(equation)\\s*\\}((.|\\n)+)\\\\end\\{\\s*\\1\\s*\\}/', '_latex_renumber', $tex);
        #print '<pre>'.$ntex.'</pre>';
        if ($tex != $ntex) {
            $tex = $ntex;
        }
        $formatter->latex_num = $GLOBALS['_latex_eq_num'];
        // save
    } else {
        if (!$raw_mode and !empty($DBInfo->latex_allinone)) {
            $chunks = preg_split('/(\\\\begin\\{\\s*(?:equation)\\s*\\}(?:(?:.|\\n)+)\\\\end\\{\\s*\\1\\s*\\})/', $tex, -1, PREG_SPLIT_DELIM_CAPTURE);
            if (($sz = count($chunks)) > 0) {
                $ntex = '';
                for ($i = 1; $i < $sz; $i += 2) {
                    $ntex .= $chunks[$i - 1];
                    preg_match('/\\\\begin\\{\\s*(equation)\\s*\\}((.|\\n)+)\\\\end\\{\\s*\\1\\s*\\}/', $chunks[$i], $m);
                    $ntex .= _latex_renumber(array('', $m[1], $m[2]), "\n%%");
                }
                $tex = $ntex;
            }
            #print '<pre>'.$ntex.'</pre>';
        }
    }
    if (!empty($DBInfo->latex_template) and file_exists($DBInfo->data_dir . '/' . $DBInfo->latex_template)) {
        $templ = implode('', file($DBInfo->data_dir . '/' . $DBInfo->latex_template));
    } else {
        $head = !empty($DBInfo->latex_header) ? $DBInfo->latex_header : '';
        $templ = "\\documentclass[10pt,notitlepage]{article}\n\\usepackage{amsmath}\n\\usepackage{amssymb}\n\\usepackage{amsfonts}{$head}\n%%\\usepackage[all]{xy}\n\\pagestyle{empty}\n\\begin{document}\n@TEX@\n\\end{document}\n%%{$dviopt}\n%%{$latex_convert_options}\n";
    }
    $src = str_replace('@TEX@', $tex, $templ);
    $uniq = $tex ? md5($src) : $formatter->latex_uniq[sizeof($formatter->latex_uniq) - 1];
    // check image file exists
    if (empty($raw_mode) and !empty($DBInfo->latex_allinone) and $tex) {
        $formatter->latex_uniq[] = $uniq;
        $formatter->latex_all .= $tex . "\n\\pagebreak\n\n";
        #print '<pre>'.$tex.'</pre>';
    }
    if (!empty($DBInfo->cache_public_dir)) {
        $fc = new Cache_text('latex', array('ext' => 'png', 'dir' => $DBInfo->cache_public_dir));
        $pngname = $fc->getKey($uniq, false);
        $png = $DBInfo->cache_public_dir . '/' . $pngname;
        $png_url = !empty($DBInfo->cache_public_url) ? $DBInfo->cache_public_url . '/' . $pngname : $DBInfo->url_prefix . '/' . $png;
    } else {
        $png = $cache_dir . '/' . $uniq . '.png';
        $png_url = $cache_url . '/' . $uniq . '.png';
    }
    if (!is_dir(dirname($png))) {
        $om = umask(00);
        _mkdir_p(dirname($png), 0777);
        umask($om);
    }
    $NULL = '/dev/null';
    if (getenv("OS") == "Windows_NT") {
//.........这里部分代码省略.........
开发者ID:ahastudio,项目名称:moniwiki,代码行数:101,代码来源:latex.php

示例11: processor_geshi

function processor_geshi($formatter, $value, $options)
{
    global $DBInfo;
    if (!defined('GESHI_VERSION')) {
        return $formatter->processor_repl('vim', $value, $options);
    }
    $syntax = array('actionscript', 'ada', 'apache', 'asm', 'asp', 'bash', 'c', 'c_mac', 'caddcl', 'cadlisp', 'cpp', 'csharp', 'css-gen', 'css', 'delphi', 'html4strict', 'java', 'javascript', 'lisp', 'lua', 'nsis', 'objc', 'oobas', 'oracle8', 'pascal', 'perl', 'php-brief', 'php', 'python', 'qbasic', 'smarty', 'sql', 'vb', 'vbnet', 'visualfoxpro', 'xml');
    if ($value[0] == '#' and $value[1] == '!') {
        list($line, $value) = explode("\n", $value, 2);
    }
    # get parameters
    if ($line) {
        $line = substr($line, 2);
        $tag = strtok($line, ' ');
        $type = strtok(' ');
        $extra = strtok('');
        if ($tag != 'vim') {
            $extra = $type;
            $type = $tag;
        }
    }
    $src = rtrim($value);
    // XXX
    if (!$type) {
        $type = 'nosyntax';
    }
    $uniq = md5($extra . $value);
    if ($DBInfo->cache_public_dir) {
        $fc = new Cache_text('geshi', array('ext' => 'html', 'dir' => $DBInfo->cache_public_dir));
        $htmlname = $fc->getKey($uniq, false);
        $html = $DBInfo->cache_public_dir . '/' . $htmlname;
    } else {
        $cache_dir = $DBInfo->upload_dir . "/GeshiProcessor";
        $html = $cache_dir . '/' . $uniq . '.html';
    }
    if (!is_dir(dirname($html))) {
        $om = umask(00);
        _mkdir_p(dirname($html), 0777);
        umask($om);
    }
    if (file_exists($html) && !$formatter->refresh) {
        $out = "";
        $fp = fopen($html, "r");
        while (!feof($fp)) {
            $out .= fread($fp, 1024);
        }
        return $out;
    }
    # comment out the following two lines to freely use any syntaxes.
    if (!in_array($type, $syntax)) {
        return "<pre class='code'>\n{$line}\n" . htmlspecialchars($src) . "\n</pre>\n";
    }
    $geshi = new GeSHi($src, $type, dirname(__FILE__) . "/../../lib/geshi/geshi");
    if ($extra == "number") {
        $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
    }
    if ($extra == "fancy") {
        $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS);
    } else {
        $geshi->enable_line_numbers(GESHI_NO_LINE_NUMBERS);
    }
    $out = '';
    $geshi->set_comments_style(1, 'font-style: normal;');
    $geshi->set_header_type(GESHI_HEADER_DIV);
    #$geshi->set_header_type(GESHI_HEADER_PRE);
    #$out = '<style type="text/css"><!--'.$geshi->get_stylesheet().'--></style>';
    #$geshi->enable_classes();
    $out .= $geshi->parse_code();
    $fp = fopen($html, "w");
    fwrite($fp, $out);
    fclose($fp);
    return $out;
}
开发者ID:NessunKim,项目名称:MW_Skins,代码行数:73,代码来源:geshi.php

示例12: do_SWFUpload

function do_SWFUpload($formatter, $options = array())
{
    global $DBInfo;
    $swfupload_dir = $DBInfo->upload_dir . '/.swfupload';
    $mysubdir = '';
    if (!is_dir($swfupload_dir)) {
        $om = umask(00);
        mkdir($swfupload_dir, 0777);
        umask($om);
        $fp = fopen($swfupload_dir . '/.htaccess', 'w');
        if ($fp) {
            $htaccess = <<<EOF
Options -Indexes
Order deny,allow

EOF;
            fwrite($fp, $htaccess);
            fclose($fp);
        }
    }
    // check subdir
    if (!empty($DBInfo->swfupload_depth) and $DBInfo->swfupload_depth > 2) {
        $depth = $DBInfo->swfupload_depth;
    } else {
        $depth = 2;
    }
    $myid = md5($_SERVER['REMOTE_ADDR'] . '.' . 'MONIWIKI');
    // FIXME
    if (session_id() != '') {
        // ip based
        if (0 and $_SESSION['_swfupload']) {
            // XXX flash bug?
            $myid = $_SESSION['_swfupload'];
        } else {
            if (!empty($options['value']) and ($p = strpos($options['value'], '/')) !== false) {
                $tmp = explode('/', $options['value']);
                #list($dum,$myid,$dum2)=explode('/',$options['value'],3);
                $myid = $tmp[1];
            }
        }
    }
    $prefix = substr($myid, 0, $depth);
    $mysubdir = $prefix . '/' . $myid . '/';
    // debug
    //$options['_mysubdir']=$mysubdir;
    //$fp=fopen($swfupload_dir.'/swflog.txt','a+');
    //foreach ($options as $k=>$v) {
    //    if (is_string($v))
    //         fwrite($fp,sprintf("%s=>%s\n",$k,$v));
    //}
    //foreach ($_SESSION as $k=>$v) {
    //    if (is_string($v))
    //         fwrite($fp,sprintf("%s=>%s\n",$k,$v));
    //}
    //fwrite($fp,"------------------------\n");
    //fclose($fp);
    // set the personal subdir
    if (!empty($options['value']) and preg_match('/^[a-z0-9\\/]+$/i', $options['value'])) {
        //if ($mysubdir == $options['value']) // XXX check subdir
        //    $mysubdir = $options['value'];
        list($dum, $myval, $dum2) = explode('/', $options['value'], 3);
        // XXX
        if (!is_dir($swfupload_dir . '/' . $mysubdir)) {
            $om = umask(00);
            _mkdir_p($swfupload_dir . '/' . $mysubdir, 0777);
            umask($om);
        }
    }
    //move the uploaded file
    if (isset($_FILES['Filedata']['tmp_name'])) {
        move_uploaded_file($_FILES['Filedata']['tmp_name'], $swfupload_dir . '/' . $mysubdir . $_FILES['Filedata']['name']);
        echo "Success";
        return;
    } else {
        if (isset($options['MYFILES']) and is_array($options['MYFILES'])) {
            include_once 'plugin/UploadFile.php';
            $options['_pds_subdir'] = $mysubdir;
            // a temporary pds dir
            $options['_pds_remove'] = 1;
            // remove all files in pds dir
            do_UploadFile($formatter, $options);
        } else {
            $formatter->send_header("", $options);
            $formatter->send_title("", "", $options);
            $out = macro_SWFUpload($formatter, '');
            print $formatter->get_javascripts();
            print $out;
            if (!in_array('UploadedFiles', $formatter->actions)) {
                $formatter->actions[] = 'UploadedFiles';
            }
            $formatter->send_footer("", $options);
        }
    }
}
开发者ID:NessunKim,项目名称:MW_Skins,代码行数:94,代码来源:SWFUpload.php

示例13: macro_Play


//.........这里部分代码省略.........
                $playfile = $basename . '.xml';
            } else {
                $cache_dir = $DBInfo->upload_dir . "/VisualTour";
                $cache_url = $DBInfo->upload_url ? $DBInfo->upload_url . '/VisualTour' : $DBInfo->url_prefix . '/' . $cache_dir;
                $basename = $cache_dir . '/' . $md5sum;
                $urlbase = $cache_url . '/' . $md5sum;
                $playfile = $basename . '.xml';
            }
            $playlist = $urlbase . '.xml';
            $list = array();
            for ($i = 0; $i < $sz; $i++) {
                if (!preg_match("/^((https?|ftp):)?\\/\\//", $url[$i])) {
                    $url = qualifiedUrl($url);
                }
                $ext = substr($media[$i], -3, 3);
                // XXX
                $list[] = '<title>' . $media[$i] . '</title>' . "\n" . '<location>' . $url[$i] . '</location>' . "\n";
            }
            $tracks = "<track>\n" . implode("</track>\n<track>\n", $list) . "</track>\n";
            // UTF-8 FIXME
            $xml = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
  <title>XSPF Playlist</title>
  <info>XSPF Playlist</info>
  <trackList>
{$tracks}
  </trackList>
</playlist>
XML;
            # check cache dir exists or not and make it
            if (!is_dir(dirname($playfile))) {
                $om = umask(00);
                _mkdir_p(dirname($playfile), 0777);
                umask($om);
            }
            if ($formatter->refresh or !file_exists($playfile)) {
                $fp = fopen($playfile, "w");
                fwrite($fp, $xml);
                fclose($fp);
            }
            $displayheight = $height;
            $height += $sz * 40;
            // XXX
            $addparam = "displayheight: '{$displayheight}'";
            $filelist = qualifiedUrl($playlist);
        } else {
            $filelist = $url[0];
        }
        $jw_script = <<<EOS
<p id="mediaplayer{$num}"></p>
<script type="text/javascript">
    (function() {
        var params = {
          allowfullscreen: "true"
        };

        var flashvars = {
          width: "{$width}",
          height: "{$height}",
          // image: "preview.jpg",
          {$addparam}
          file: "{$filelist}"
        };

        swfobject.embedSWF("{$_swf_prefix}/mediaplayer.swf","mediaplayer{$num}","{$width}","{$height}","0.0.9",
开发者ID:ahastudio,项目名称:moniwiki,代码行数:67,代码来源:Play.php

示例14: macro_VisualTour

function macro_VisualTour($formatter, $value, $options = array())
{
    global $DBInfo;
    putenv('GDFONTPATH=' . getcwd() . '/data');
    $dotcmd = "dot";
    #$dotcmd="twopi";
    #$dotcmd="neato";
    $maptype = 'imap';
    $maptype = 'cmap';
    if (!$formatter->page->exists()) {
        return "";
    }
    $args = explode(',', $value);
    $extra = '';
    foreach ($args as $arg) {
        $arg = trim($arg);
        if (($p = strpos($arg, '=')) === false) {
            if ($arg == 'show') {
                $extra .= '&t=show';
            } else {
                if (is_int($arg)) {
                    $w = $arg;
                } else {
                    if ($DBInfo->hasPage($arg)) {
                        $pgname = $arg;
                    }
                }
            }
        } else {
            $k = strtok($arg, '=');
            $v = strtok('');
            if ($k == 'width' or $k == 'w') {
                $w = (int) $v;
            } else {
                if ($k == 'depth' or $k == 'd') {
                    $d = (int) $v;
                } else {
                    if ($k == 'arena' or $k == 'a') {
                        $extra .= '&arena=' . $v;
                    }
                }
            }
        }
    }
    if (!empty($options['w']) and $options['w'] < 6) {
        $w = $options['w'];
    } else {
        $w = !empty($w) ? $w : 2;
    }
    if (!empty($options['d']) and $options['d'] < 6) {
        $d = $options['d'];
    } else {
        $d = !empty($d) ? $d : 3;
    }
    if (!empty($options['f'])) {
        $extra .= "&f=" . $options['f'];
    }
    if (!empty($options['arena'])) {
        $extra .= "&arena=" . $options['arena'];
    }
    if (isset($pgname[0])) {
        $urlname = _urlencode($pgname);
    } else {
        $urlname = $formatter->page->urlname;
        $pgname = $formatter->page->name;
    }
    $dot = $formatter->macro_repl('dot', $pgname, $options);
    if (!empty($DBInfo->cache_public_dir)) {
        $fc = new Cache_text('visualtour', array('dir' => $DBInfo->cache_public_dir));
        $fname = $fc->getKey($dot);
        $basename = $DBInfo->cache_public_dir . '/' . $fname;
        $dotfile = $basename . '.dot';
        $pngfile = $basename . '.png';
        $mapfile = $basename . '.map';
        $urlbase = $DBInfo->cache_public_url ? $DBInfo->cache_public_url . '/' . $fname : $DBInfo->url_prefix . '/' . $basename;
        $png_url = $urlbase . '.png';
        $map_url = $urlbase . '.map';
    } else {
        $md5sum = md5($dot);
        $cache_dir = $DBInfo->upload_dir . "/VisualTour";
        $cache_url = $DBInfo->upload_url ? $DBInfo->upload_url . '/VisualTour' : $DBInfo->url_prefix . '/' . $cache_dir;
        $basename = $cache_dir . '/' . $md5sum;
        $pngfile = $basename . '.png';
        $mapfile = $basename . '.map';
        $dotfile = $basename . '.dot';
        $urlbase = $cache_url . '/' . $md5sum;
        $png_url = $urlbase . '.png';
        $map_url = $urlbase . '.map';
    }
    if (!is_dir(dirname($pngfile))) {
        $om = umask(00);
        _mkdir_p(dirname($pngfile), 0777);
        umask($om);
    }
    $err = '';
    if ($formatter->refresh or !file_exists($dotfile)) {
        $fp = fopen($dotfile, "w");
        fwrite($fp, $dot);
        fclose($fp);
        $cmd = "{$dotcmd} -Tpng {$dotfile} -o {$pngfile}";
//.........这里部分代码省略.........
开发者ID:ahastudio,项目名称:moniwiki,代码行数:101,代码来源:VisualTour.php

示例15: processor_vim

function processor_vim($formatter, $value, $options)
{
    global $DBInfo;
    $vim_default = '-T xterm';
    static $jsloaded = 0;
    $vartmp_dir =& $DBInfo->vartmp_dir;
    $syntax = array("php", "c", "python", "jsp", "sh", "cpp", "java", "ruby", "forth", "fortran", "perl", "haskell", "lisp", "st", "objc", "tcl", "lua", "asm", "masm", "tasm", "make", "mysql", "awk", "docbk", "diff", "html", "tex", "vim", "xml", "dtd", "sql", "conf", "config", "nosyntax", "apache");
    #$opts=array("number");
    $line = '';
    if ($value[0] == '#' and $value[1] == '!') {
        list($line, $value) = explode("\n", $value, 2);
    }
    # get parameters
    if ($line) {
        $line = substr($line, 2);
        $tag = strtok($line, ' ');
        $type = strtok(' ');
        $extra = strtok('');
        if ($tag != 'vim') {
            $extra = $type;
            $type = $tag;
        }
    }
    $src = $value;
    if (!preg_match('/^\\w+$/', $type)) {
        $type = 'nosyntax';
    }
    $option = '';
    if ($extra == "number") {
        $option = '+"set number" ';
    }
    if ($DBInfo->vim_options) {
        $option .= $DBInfo->vim_options . ' ';
    }
    $uniq = md5($option . $extra . $type . $src);
    if ($DBInfo->cache_public_dir) {
        $fc = new Cache_text('vim', array('ext' => 'html', 'dir' => $DBInfo->cache_public_dir));
        $htmlname = $fc->getKey($uniq, false);
        $html = $DBInfo->cache_public_dir . '/' . $htmlname;
    } else {
        $cache_dir = $DBInfo->upload_dir . "/VimProcessor";
        $html = $cache_dir . '/' . $uniq . '.html';
    }
    $script = '';
    if (!empty($DBInfo->use_numbering) and empty($formatter->no_js)) {
        $formatter->register_javascripts('numbering.js');
        $script = "<script type=\"text/javascript\">\n/*<![CDATA[*/\naddtogglebutton('PRE-{$uniq}');\n/*]]>*/\n</script>";
    }
    if (!is_dir(dirname($html))) {
        $om = umask(00);
        _mkdir_p(dirname($html), 0777);
        umask($om);
    }
    if (file_exists($html) && empty($formatter->refresh) && empty($formatter->preview)) {
        $out = "";
        $fp = fopen($html, "r");
        while (!feof($fp)) {
            $out .= fread($fp, 1024);
        }
        @fclose($fp);
        return '<div>' . $out . $script . '</div>';
    }
    if (!empty($DBInfo->vim_nocheck) and !in_array($type, $syntax)) {
        $lines = explode("\n", $line . "\n" . str_replace('<', '&lt;', $src));
        if ($lines[sizeof($lines) - 1] == "") {
            array_pop($lines);
        }
        $src = "<span class=\"line\">" . implode("</span>\n<span class=\"line\">", $lines) . "</span>";
        return '<div>' . $script . "<pre class='wiki' id='PRE-{$uniq}'>\n{$src}</pre></div>\n";
    }
    $tohtml = !empty($DBInfo->vim_2html) ? $DBInfo->vim_2html : ($tohtml = '$VIMRUNTIME/syntax/2html.vim');
    #$tohtml= realpath($DBInfo->data_dir).'/2html.vim';
    if (getenv("OS") == "Windows_NT") {
        $vim = "gvim";
        # Win32
        $fout = tempnam($vartmp_dir, "OUT");
    } else {
        $tohtml = '\\' . $tohtml;
        $vim = "vim";
        $fout = "/dev/stdout";
    }
    $tmpf = tempnam($vartmp_dir, "FOO");
    $fp = fopen($tmpf, "w");
    fwrite($fp, $src);
    fclose($fp);
    $cmd = "{$vim} {$vim_default} -e -s {$tmpf} " . ' +"syntax on " +"set syntax=' . $type . '" ' . $option . ' +"so ' . $tohtml . '" +"wq! ' . $fout . '" +qall';
    $log = '';
    $out = '';
    if (getenv("OS") == "Windows_NT") {
        system($cmd);
        $out = join(file($fout), "");
        unlink($fout);
    } else {
        $formatter->errlog();
        $fp = popen($cmd . $formatter->LOG, "r");
        if (is_resource($fp)) {
            while ($s = fgets($fp, 1024)) {
                $out .= $s;
            }
            pclose($fp);
//.........这里部分代码省略.........
开发者ID:ahastudio,项目名称:moniwiki,代码行数:101,代码来源:vim.php


注:本文中的_mkdir_p函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。