当前位置:Home Page > Program > 正文内容

ZB UP类的修改说明笔记

WAGF1年前 (2022-12-15)Program158

笔记之一如何修改up的地址

修改system/function/lib/upload.php文件.



    /**
     * @param $tmp
     * 保存文件,使用绝对路径,使用服务器路径
     * //$zbp->usersdir 
     * //(ZBP_PATH . "cdns/" 
     * @return bool
     */
    public function SaveFile($tmp)
    {
        global $zbp;

        foreach ($GLOBALS['hooks']['Filter_Plugin_Upload_SaveFile'] as $fpname => &$fpsignal) {
            $fpreturn = $fpname($tmp, $this);
            if ($fpsignal == PLUGIN_EXITSIGNAL_RETURN) {
                $fpsignal = PLUGIN_EXITSIGNAL_NONE;

                return $fpreturn;
            }
        }

        if (!file_exists(ZBP_PATH . "cdns/" . $this->Dir)) { //$zbp->usersdir
            @mkdir(ZBP_PATH . "cdns/" . $this->Dir, 0755, true); //$zbp->usersdir
        }
        if (PHP_SYSTEM === SYSTEM_WINDOWS) {
            $fn = iconv("UTF-8", $zbp->lang['windows_character_set'] . "//IGNORE", $this->Name);
        } else {
            $fn = $this->Name;
        }
        if ($this->CheckExtName()) {
            @move_uploaded_file($tmp, ZBP_PATH . "cdns/" . $this->Dir . $fn); //$zbp->usersdir
            return true;
        }

        return true;
    }

    /**
     * @param $str64
     *   * 保存文件,使用绝对路径,使用服务器路径
     * //$zbp->usersdir 
     * //(ZBP_PATH . "cdns/" 
     * @return bool
     */
    public function SaveBase64File($str64)
    {
        global $zbp;

        foreach ($GLOBALS['hooks']['Filter_Plugin_Upload_SaveBase64File'] as $fpname => &$fpsignal) {
            $fpreturn = $fpname($str64, $this);
            if ($fpsignal == PLUGIN_EXITSIGNAL_RETURN) {
                $fpsignal = PLUGIN_EXITSIGNAL_NONE;

                return $fpreturn;
            }
        }

        if (!file_exists(ZBP_PATH . "cdns/" . $this->Dir)) {
            @mkdir(ZBP_PATH . "cdns/" . $this->Dir, 0755, true);
        }
        $s = base64_decode($str64);
        $this->Size = strlen($s);
        if (PHP_SYSTEM === SYSTEM_WINDOWS) {
            $fn = iconv("UTF-8", "GBK//IGNORE", $this->Name);
        } else {
            $fn = $this->Name;
        }
        if ($this->CheckExtName()) {
            file_put_contents(ZBP_PATH . "cdns/" . $this->Dir . $fn, $s); //$zbp->usersdir 
            return true;
        }
    }

    /**
     * @param string $s
     *
     * @return bool|string
     */
    public function Time($s = 'Y-m-d H:i:s')
    {
        return date($s, $this->PostTime);
    }

    /**
     * @param $name
     * @param $value
     */
    public function __set($name, $value)
    {
        if (in_array($name, array('Url', 'Dir', 'FullFile', 'Author'))) {
            return;
        }
        foreach ($GLOBALS['hooks']['Filter_Plugin_Upload_Set'] as $fpname => &$fpsignal) {
            $fpname($this, $name, $value);
        }
        parent::__set($name, $value);
    }

    /**
     * 返回文件名字..域名路径
     * @param $name
     * //$zbp->usersdir 
     * //(ZBP_PATH . "cdns/" 
     *  //cdn.
     * @return Member|mixed|string
     */
    public function __get($name)
    {
        global $zbp;
        if ($name == 'Url') {
            foreach ($GLOBALS['hooks']['Filter_Plugin_Upload_Url'] as $fpname => &$fpsignal) {
                return $fpname($this);
            }

            return  "https://cdn./" . $this->Dir . rawurlencode($this->Name); 
        } 
        // return  "https://cdn./" . $this->Dir . rawurlencode($this->Name); //cdn域名访问
        // return  $zbp->host ."cdns/" . $this->Dir . rawurlencode($this->Name); //本域名访问.
        if ($name == 'Dir') {
            foreach ($GLOBALS['hooks']['Filter_Plugin_Upload_Dir'] as $fpname => &$fpsignal) {
                return $fpname($this);
            }
            $dir = 'upload/' . date('Y', $this->PostTime) . '/' . date('m', $this->PostTime) . '/';
            if ($zbp->option['ZC_UPLOAD_DIR_YEARMONTHDAY']) {
                $dir .= date('d', $this->PostTime) . '/';
            }
            return $dir;
        }
        if ($name == 'FullFile') {
            return "https://cdn./" . $this->Dir . $this->Name;
        } 
        // return "https://cdn./" . $this->Dir . $this->Name; //cdn域名访问
        // return $zbp->host . "cdns/" . $this->Dir . $this->Name; //本域名访问.
        if ($name == 'Author') {
            return $zbp->GetMemberByID($this->AuthorID);
        }

        foreach ($GLOBALS['hooks']['Filter_Plugin_Upload_Get'] as $fpname => &$fpsignal) {
            $fpreturn = $fpname($this, $name);
            if ($fpsignal == PLUGIN_EXITSIGNAL_RETURN) {
                $fpsignal = PLUGIN_EXITSIGNAL_NONE;

                return $fpreturn;
            }
        }

        return parent::__get($name);
    }


扫描二维码推送至手机访问。

版权声明:本文由是飞之地发布,如需转载请注明出处。

本文链接:https://wagf.cn/post/12.html

标签: PHP编程zblog
分享给朋友: