【问题标题】:How to upload a file in joomla?如何在 joomla 中上传文件?
【发布时间】:2011-03-24 06:16:32
【问题描述】:

您好,我正在 joomla 中制作一个简单的组件,其中包含名称图像细节,我必须上传该图像如何从后端上传图像。使用扩展或定制哪个更好。你能分享任何好的文章吗?我搜索了更多,但由于缺乏对 joomla 的想法而无法找到。希望各位高手帮帮我。

谢谢我提前

【问题讨论】:

    标签: image upload joomla


    【解决方案1】:

    Joomla 组件对于您的需求的确切场景将很难找到。所以你有两个选择: 1.制作自己的组件 2. 自定义其他类似类型的组件,如图库组件

    如果您正在制作自己的组件,则用于在管理员上从 joomla 组件上传文件: 1.只需使用move_uploaded_file php函数。 2. 复制此代码,用于 joomla 的标准 fxn:

        function upload($src, $dest)
        {
            jimport('joomla.client.helper');
            $FTPOptions = JClientHelper::getCredentials('ftp');
            $ret            = false;
            $dest = JPath::clean($dest);
            $baseDir = dirname($dest);
            if (!file_exists($baseDir)) {
                    jimport('joomla.filesystem.folder');
                    JFolder::create($baseDir);
            }
    
            if ($FTPOptions['enabled'] == 1) {
                    jimport('joomla.client.ftp');
                    $ftp = & JFTP::getInstance($FTPOptions['host'], $FTPOptions['port'], null, $FTPOptions['user'], $FTPOptions['pass']);
                    $dest = JPath::clean(str_replace(JPATH_ROOT, $FTPOptions['root'], $dest), '/');
                    if (is_uploaded_file($src) && $ftp->store($src, $dest))
                    {
                                $ret = true;
                            unlink($src);
                    } else {
                            JError::raiseWarning(21, JText::_('WARNFS_ERR02'));
                    }
            } else {
                    if (is_writeable($baseDir) && move_uploaded_file($src, $dest)) { // Short circuit to prevent file permission errors
                            if (JPath::setPermissions($dest)) {
                                    $ret = true;
                            } else {
                                    JError::raiseWarning(21, JText::_('WARNFS_ERR01'));
                            }
                    } else {
                            JError::raiseWarning(21, JText::_('WARNFS_ERR02'));
                    }
            }
            return $ret;
    }
    

    如果你想使用别人的组件并根据需要编辑它,下载它: http://prakashgobhaju.com.np/index.php?option=com_showcase_gallery&view=items&catid=1&Itemid=64 请记住,它是一个图库组件。

    【讨论】:

      【解决方案2】:

      在您的 Joomla 网站上上传任何文件(无论是图像)都非常简单,可以使用基于 Web 的 FTP 或桌面 FTP 服务(如 filezilla)来完成,但前提是您保存了您想要的文件上传。使用基于 Web 的方式,您需要登录到您的主机,例如 000webhost,找到文件管理器选项,单击它并输入您的域用户名和密码。然后转到 public_html 文件夹,为您的照片或图像创建一个新文件夹,然后单击上传。找到您的图片并点击勾选链接开始上传。

      使用桌面方式,您需要解压缩文件以添加到 joomla,打开像 filezilla 这样的 FTP 客户端,在本地主机上找到文件,输入主机提供的登录详细信息,然后登录后通过 filezilla 到您的帐户,找到您要添加文件的位置并点击上传。

      你可以在这里找到一个类似的教程http://www.thekonsulthub.com/how-tos/how-to-upload-joomla-with-filezilla-to-your-hosting-servers-cpanel/ {entire thing}

      【讨论】:

        【解决方案3】:

        请确保您使用 MediaHelper 中提供的过滤功能。特别是永远不要信任上传的图像,始终首先检查它们是否是有效的文件类型,然后检查它们是否在您的全局配置中列出的已批准文件类型列表中,名称不包含 html 或 javascript,并且文件本身包含不包含代码。特别是我会推荐 MediaHelper::canUpload 方法,它将为您检查大部分这些内容。如果有的话,你应该更加强烈地检查。还要确保您正在检查用户是否具有上传权限。如果有的话,您应该使检查更加严格。使用 joomla 为您提供的 API,例如内置媒体字段。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-31
          • 1970-01-01
          • 2012-07-30
          • 1970-01-01
          • 1970-01-01
          • 2011-10-03
          • 1970-01-01
          • 2011-04-11
          相关资源
          最近更新 更多