0

ユーザーがファイルを添付し、メッセージを入力すると、ワードプレス用の PHP メーラー プラグインを使用して電子メールが送信されるアプリケーションを作成しています。JavaScript を使用してアップロード HTML フォームからファイル情報を取得し、次に php を使用してメールを送信します。プラグインは、サーバー上の特定の場所に保存されているファイルを次の関数を使用して送信するときに機能します。

$mail->AddAttachment("./new6.txt","attachment");

選択したファイルをサーバーに保存せずに電子メールで送信する方法があるかどうか疑問に思っていました。つまり、ユーザーはアップロードするファイルを選択できますが、取得する場所に保存せずに、この php 関数でファイルを送信できますか? ファイルの情報を取得できる $_FILES 配列があることは知っていますが、そのファイルを最初にどこかに保存せずに送信できますか? アップロードフォームの要点はそれを「アップロード」することなので、そうではないと思いますが、javascriptなどで何かできるかどうか疑問に思っています。

助けてくれてありがとう

4

3 に答える 3

1

あなたは本当にそれをすることはできません、しかしあなたは密接な効果を得るためにこれをすることができます:

$filename = $_FILES['file_name']['tmp_name'];
$main->AddAttachment($filename, "attachment");

// Send the email... then:
unset($filename);

これにより、ファイルが添付ファイルとして追加され、電子メールが送信されてから、ファイルが削除されます。配列にアップロードされたファイルは$_FILES最終的に自動的にフラッシュされるので、そのunset()部分が何か重要なことをするかどうかはわかりませんが、ファイルは確実に削除されます。

于 2013-03-14T03:17:53.867 に答える
0

サーバーにファイルを保存しないと、メールに添付できません。

1> Mailing function is executing in Server.
2> It is not possible from Server to get the absolute file path in client machine as in web, the client machines do not have any absolute address.
3> So the file is needed to be uploaded in server to get a real path for the file to have in attachment of Mail.
于 2013-03-14T03:21:06.313 に答える