さくらインターネットで受信メールからphpの起動について質問です。


受信したメールから「メールアドレス」や「題名」等の取得には成功しているのですが、
添付ファイル(jpeg画像)の保存でエラーとなっております。

参考にしたURL
http://d.hatena.ne.jp/mk18/20090201/p1

エラーの原因を確かめる為に簡単なプログラムを作成してみました。

test.php --------------------------------------------

#!/usr/local/bin/php
<?php
touch("./test.txt");

mb_internal_encoding("EUC-JP");
mb_language("japanese");
mb_send_mail("メールアドレス", "題名", "本文", "From: メールアドレス");

?>

--------------------------------------------------------

上記ファイルにブラウザからアクセスすると空のファイル作成及びメール送信が正常に行われます。
受信メールから起動させると「空のファイル作成」が無視され、メール送信だけが実行されます。
メール送信は実行されておりますので、「受信メールからphpの起動」の部分につきましては
クリアできていると思うのですが...。
原因の分かる方よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/04/08 13:08:57
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Km1967 No.2

回答回数224ベストアンサー獲得回数35

ポイント50pt

ブラウザからであれば"./"はphpファイルの入っているディレクトリを指し示すがCLI版の場合はカレントディレクトリを指し示す事になる。

そちらのプログラムの内容や設置状況などが判らない(知識/想像力不足で済まぬ)ので、カレントの位置は判らぬが、とりあえず相対指定をやめ、絶対指定でファイルの場所を指定してはどうか?


余計な話になるかもしれぬがtouch自体の成功/失敗の確認もするべきではないか?

http://php.net/manual/ja/function.touch.php

id:clab_yasu

ありがとうございます。

朝一番で確認してみます。

自宅にパソコンが無いもので…。

2010/04/08 00:18:52

その他の回答1件)

id:ko8820 No.1

回答回数1221ベストアンサー獲得回数69

ポイント20pt

起動したPHPにファイル作成の権限がない可能性が高いと思う。

パミッションの設定の見直し

id:clab_yasu

ありがとうございます。

パーミッションは744と755で試しましたが共に動きませんでした。

ブラウザからのアクセスでは正常に動作しているのですが

その場合でもパーミッションが疑わしいのでしょうか?

2010/04/07 23:29:05
id:Km1967 No.2

回答回数224ベストアンサー獲得回数35ここでベストアンサー

ポイント50pt

ブラウザからであれば"./"はphpファイルの入っているディレクトリを指し示すがCLI版の場合はカレントディレクトリを指し示す事になる。

そちらのプログラムの内容や設置状況などが判らない(知識/想像力不足で済まぬ)ので、カレントの位置は判らぬが、とりあえず相対指定をやめ、絶対指定でファイルの場所を指定してはどうか?


余計な話になるかもしれぬがtouch自体の成功/失敗の確認もするべきではないか?

http://php.net/manual/ja/function.touch.php

id:clab_yasu

ありがとうございます。

朝一番で確認してみます。

自宅にパソコンが無いもので…。

2010/04/08 00:18:52
  • id:jayz
    すでに出ている回答と重複しますがパーミッションの可能性が高いように思います。

    WEBサーバからテストプログラムを実行した場合はファイルの作成が行えているよう
    ですが実戦ではメールサーバからファイルを作成する処理になるということですので
    テスト時と実際の処理では作成者が違うということですよね?

    一度ファイルを保存するディレクトリのパーミッションを777で試してみてはどうでしょうか
  • id:clab_yasu
    コメントありがとうございます。
    今回質問させていただきましたエラーにつきましては
    Km1967様に教えていただきましたディレクトリの指定ミスでございました。
    実行phpからの相対パスをメールボックスからのパスに書き直して正常に動作いたしました。
    試行錯誤しておりましたのでメールボックスには画像が沢山保存されてました(笑)
    この度はご親切に追加情報をありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません