8

ユーザーがファイルを「アップロード」できる単純なフォームとコメントボックスを作成しています。ユーザーがファイル(画像またはPDF)を選択して送信をクリックした後、ファイルをWebサーバーに保存するつもりはありません。ファイルは電子メールに挿入されて送信されます。

私の質問は、どの場所にも保存せずにファイルを添付するにはどうすればよいかということです。

サードパーティのモジュールを使用したくありません。

アップデート:

$attachment = $_FILES["OrderList"]["tmp_name"];
$content = file_get_contents($attachment);
$content = chunk_split(base64_encode($content));

エラーが発生しました:

C:\dir\orders\upload.php の 24 行目でファイル名を空にすることはできません

24行目は$content = file_get_contents($attachment);

4

3 に答える 3

6

今日、私は同様の状況に遭遇し、解決策を見つけたので、ここにあります

if ($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "<br>";
} else {


$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
$newname= $_FILES["file"]["tmp_name"].".".$extension;
rename($_FILES["file"]["tmp_name"],$newname);
$attachments = array( $newname );

   wp_mail('emailto send', 'title', 'message','',$attachments );
}
于 2014-05-18T13:21:00.810 に答える
4

PHP からのファイルアップロードを受け入れると、すでに保存されています。

tmp フォルダに格納されている場合はそのまま使用してください。

スクリプトが終了すると、PHP が自動的に削除します。

于 2012-08-03T15:15:56.347 に答える
0

ファイルをアップロードすると、サーバーの一時ディレクトリに保存されます。例外は PUT メソッドです。この場合、ファイルは php://input で直接送信されます。その後、任意の PHP メーリング ライブラリを使用できます。

ファイルを PUT するための PHP マニュアル

于 2012-08-03T15:17:38.123 に答える