2011-10-26 8 views
0

に送信され、次のように私は、添付ファイルを追加してい:phpmailerの - のみ最初の添付ファイルが

for ($i = 0; $i <= 2; $i++) 
{ 
    if(file_exists($dir . $_FILES["file".$i]["tmp_name"])){ 

     $mail->AddAttachment($dir . $_FILES["file".$i]["tmp_name"],$_FILES["file".$i]["name"]); 
    } 
} 

ファイル適切にサーバーにアップロードされているが、唯一の最初の添付ファイルを電子メールに添付されています。 2番目と3番目の添付ファイルについては、エラー:Could not access file: upload/が表示されます。私はclass.phpmailer.php7 => 0行を7 => count($this->attachment)と置き換えなければならないが、それは助けにならないことがわかった。この問題で私を助けてくれますか? TIA

+0

これはファイルのアクセス許可に問題がありますか? – EdoDodo

+0

すべてのファイルには同じ権限がありますが、最初のファイルのみが添付されています。だから私は別の問題があると思う。 – mkas

答えて

0

あなたは$_FILES["file1"]["tmp_name"]$_FILES["file2"]["tmp_name"]の両方が/空の空白、そして何の値が含まれていないことを示唆しているエラー"Could not access file: upload/"を、取得している場合(それ以外の場合は、"Could not access file: upload/foo.gif"を言うでしょう)。

echoこれらの値を画面に表示し、それらが実際に存在するかどうかを確認します。さらに、この配列のすべての値を表示するにはprint_r($_FILES);を使用してください。

私はfile_existsは(すなわちfile_existsは「アップロード/」フォルダが存在するあなたを語っている)file_existsも、フォルダ上で動作しますので、ファイル名は、空白であっても、trueを返します疑い。

EDIT:あなたはPHP 5.2.12以上を使用している場合もうひとつは、もちろんのこと、あなたのINI設定でmax_file_uploadsが複数のファイルをアップロードするからあなたを防止されていないことを確認してください。

+0

しかし、最初のファイルが正しく添付されていることをどのように説明しますか。私はまだそれがなぜそのように動作するのか理解していません。 – mkas

+0

@mkas '$ _FILES' varでprint_rをやったことがありますか?あなたは何を見ますか?他のファイルのファイル名はありますか? max_file_uploadsで一度に複数のファイルをアップロードできるかどうか確認しましたか? –

関連する問題