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()will が存在しません。

于 2012-09-26T14:09:21.897 に答える