2017-08-26 15 views
-1

スクリプトは動作しますが、添付ファイルは1つのみ送信します。私は何が間違っているのかわからない。 How to attach two or multiple files and send mail in PHP複数の添付ファイルを送信するPHP imapのみ添付ファイルを1つ送信する

+0

これは添付ファイル送信コードではありません。便利なヘルプが必要な場合は、フルコードを入力してください。 –

+0

ファイルを間違って取得しようとしています。私の答えを見てください。ファイル配列名を指定する必要があります。 –

答えて

1

があなたのファイル名を変更します。これは、最初のアタッチメントの$ userfile [ '名前'] [0]が、[ '名前']は、[1]

$i = 0; 
    foreach($_FILES as $userfile){ 
     $tmp_name = $userfile['tmp_name'][$i]; 
     $type = $userfile['type'][$i]; 
     $name = $userfile['name'][$i]; 
     $size = $userfile['size'][$i]; 
      $i++; 
} 

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" 
    enctype="multipart/form-data" name="form1"> 
<input type="file" name="file[]" multiple /> 

元のコードはここからではない$ userfileですが送信されます[]は、このようにする必要がありuserfileする:

すると、このようにする必要があります:

$count_uploaded_files = count($_FILES['userfile']['name']); 

for($i = 0; $i < $count_uploaded_files; $i++) 
{ 
    $tmp_name = $_FILES['userfile']['tmp_name'][$i]; 
    $type  = $_FILES['userfile']['type'][$i]; 
    $name  = $_FILES['userfile']['name'][$i]; 
    $size  = $_FILES['userfile']['size'][$i]; 

    // Do whatever you want with $temp_name, $type, $name, and $size ... 
} 

しかし、あなたはファイルを[]で滞在したい場合。このように:

$count_uploaded_files = count($_FILES['file']['name']); 

for($i = 0; $i < $count_uploaded_files; $i++) 
{ 
    $tmp_name = $_FILES['file']['tmp_name'][$i]; 
    $type  = $_FILES['file']['type'][$i]; 
    $name  = $_FILES['file']['name'][$i]; 
    $size  = $_FILES['file']['size'][$i]; 

    // Do whatever you want with $temp_name, $type, $name, and $size ... 
} 
+0

2番目のオプションが機能します。ありがとう。 – user1282355

関連する問題