1

我正在使用 Codeigniter 库发送带有附件的电子邮件,我要附加的文件位于以下目录中

/uploads/pdf/yourfile.pdf

我将如何将其附加到其完整路径?例如,我怎样才能找到这个文件的正确路径(不是 URL)。

 $this->email->attach('/path/uploads/pdf/yourfile.pdf');

我怎样才能确定什么应该替换上面一行中的“路径”

4

2 回答 2

4

您可以通过__DIR__魔术常量或dirname(__FILE__)在旧版本的 PHP 中获得脚本运行的目录,然后从这一点确定您的路径。然后,您可以使用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');
于 2012-09-26T13:44:59.623 回答
3

设法使用 CodeIgniters 功能来执行以下操作..

 $path = set_realpath('uploads/pdf/');
 $this->email->attach($path . 'yourfile.pdf');

希望这对其他人有帮助。再次感谢

注意:不要忘记之前加载路径助手,否则set_realpath()将不存在。

于 2012-09-26T14:09:21.897 回答