どもです。
file_get_contents()に関する備忘録。
PDFを生成し、添付したメールを送信。そのためには作成したPDFをいちど取得しなければなりません。
しかし使用しているPDF作成ライブラリの仕様として、header()を変更してechoしてしまいます。
このため、include()でなくfile_get_contents()を使って生成データを「取得」することが求められます。
PDFを作成するソース自体は同ディレクトリにあるので、
としてみたところ、$pdfの中身はsauce.phpがそのまま入ってしまいました。
また、クエリストリングをつけるとNo such file or directoryです(これは当然か)。
相対から絶対パスに変えても、結果は同じでした。
が、
httpから始まるURLにしたところ、$pdfに望み通りのPDFが取得できました。
軽くggっても原因がわからなくて釈然としないままですが、気を付けることにしましょう。
この場合だとクエリストリングもOKなので、そもそもhttp://とパスとで根本的に扱いが違うんだろうな感。
追記
file_get_contents()で生成ファイルを取得しようとすると、httpsの場合にproxyの有無とかallow_url_fopenの許可不許可でhttp://localhostにしないとダメだったりするけど、http://localhostが使えるかどうかもサーバーに依存するぞ~~~???(爆死)
ライブラリの仕様がechoだったからfile_get_contents()にしたわけだけど、ライブラリの方を弄った方が正解だったかもしれね。_(:3」∠)_