【问题标题】:where to change the absolute path for uploads? sfConfig::get('sf_upload_dir')在哪里更改上传的绝对路径? sfConfig::get('sf_upload_dir')
【发布时间】:2026-02-05 01:55:02
【问题描述】:

我有这个代码:

 $profile_pic = sfConfig::get('sf_upload_dir') . '/rainbowcode/profilepics/'.$this->msisdn.".png";

并将其更改为: $profile_pic = '/home/rainbowcode/rainbowcode_deploy_versions/profilepics/'.$this->msisdn.".png";

上述目录路径确实存在,实际文件也确实存在,但由于某种或其他原因,它没有找到我的文件???

我发现了这个:http://www.symfony-project.org/cookbook/1_0/en/upload,它声明你可以在 config/config.php 中配置绝对路径,但我没有 config.php

我不明白,请帮忙 谢谢

【问题讨论】:

    标签: php symfony1 symfony-1.4


    【解决方案1】:

    请参阅有关自定义路径的文档。 http://www.symfony-project.org/gentle-introduction/1_4/en/19-Mastering-Symfony-s-Configuration-Files#chapter_19_sub_customizing_the_file_structure

    您应该在config/ProjectConfiguration.class.php 中覆盖sf_upload_dir

    【讨论】:

    • 我的 ProjectConfiguration.class 没有定义 sf_upload_dir 它只设置了默认时区
    • 仔细查看文档。它描述了如何覆盖 sf_upload_dir 的默认值
    • 在我的回复中,我指出了文档中显示覆盖 sf_app_template_dir 的特定位置。我想您只需将 sf_app_template_dir 替换为 sf_upload_dir 并在该示例中替换您的 cutsom 位置。
    【解决方案2】:

    我认为您可以在 /config/ProjectConfiguration.class.php 中覆盖 setwebdir 方法

    public function setWebDir($webDir)
    {
        sfConfig::add(array(
          'sf_web_dir'    => $webDir,//dont change this if you dont have to
          'sf_upload_dir' => $webDir.DIRECTORY_SEPARATOR.'uploads',//thats what you wanted to change :)
        ));
    }  
    

    查看此帖子:
    http://oldforum.symfony-project.org/index.php/m/84548/

    【讨论】:

      【解决方案3】:

      其实你不需要配置上传路径。 请确保 $this->msisdn 返回 smth。

      【讨论】:

      • 如果我使用该行,我会在错误目录中查找个人资料图片:web/uploads/rainbowcode/images/profilepics... 我将所有个人资料图片移动到新文件夹 /home/rainbowcode/ Rainbowcode_deploy_versions/profilepics