我使用Codeigniter库发送带附件的电子邮件,我要附加的文件位于以下目录中
/uploads/pdf/yourfile.pdf
如何将其与其完整路径相关联? E.g如何找到此文件的正确路径(而不是URL)。
$this->email->attach('/path/uploads/pdf/yourfile.pdf');
如何确定上面一行中应该替换'path'的内容
答案 0 :(得分:4)
您可以在旧版本的PHP中使用__DIR__
魔术常量或dirname(__FILE__)
来运行脚本所在的目录,然后从这一点确定您的路径。然后,您可以使用realpath()
来获取文件的已解析路径。例如:
$path_to_the_file = realpath(__DIR__.'/../uploads/pdf/yourfile.pdf/');
首先尝试echo __DIR__
找到您当前的位置,然后将当前位置的相对路径添加到__DIR__
并将其提供给realpath()
同样在Codeigniter中,常量APPPATH指向应用程序文件夹,因此这是另一种解决方案:
$path_to_the_file = realpath(APPPATH.'relative/path/to/the/file/from/application/folder');
答案 1 :(得分:3)
管理以使用CodeIgniters功能执行以下操作..
$path = set_realpath('uploads/pdf/');
$this->email->attach($path . 'yourfile.pdf');
希望这有助于其他人。再次感谢
注意:不要忘记之前加载路径助手,否则set_realpath()
将不存在。