2

こんにちは、質問があります。添付ファイルを入力して簡単なフォームを作成しました。この添付ファイルをメールでメールボックスに送信したいのですが、添付ファイルがファイルシステムに見つからないというエラーが常に表示されます。

これはphpのコードです:

<? 
   require('phpmailer/phpmailer.inc.php');

    $mail = new PHPMailer();

    $mail->From= $_POST['email'];
    $mail->FromName= $_POST['contact'];
    $mail->Sender= $_POST['email'];
    $mail->AddReplyTo("xxxx", "Porozumienie");

    $mail->AddAddress("xxxxx");
    $mail->Subject = "Your invoice";

    $mail->IsHTML(false); 

    $plik_tmp = $_FILES[contr][tmp_name];
    $plik_nazwa = $_FILES[contr][name];
    $plik_rozmiar = $_FILES[contr][size];

    $target_path = "uploads/";

    $target_path = $target_path . basename( $_FILES['contr']['name']); 

    if(move_uploaded_file($_FILES['contr']['tmp_name'], $target_path)) {
        echo "The file ".  basename( $_FILES['contr']['name']). 
        " has been uploaded";
    } else{
        echo "There was an error uploading the file, please try again!";
    }

    $mail->AddAttachment(basename($target_path));

    $mail->Body = "Please find your invoice attached.";
    if(!$mail->Send())
    {
       echo "Error sending";
    }
    else
    {
       echo "Letter is sent";
       unlink($target_path);
    } 
?>

私が間違っていることは何ですか?

4

1 に答える 1

0

@arclite:添付ファイルが見つからないというエラーが発生しているため。アップロード フォルダーのアクセス許可を確認し、そうでない場合は書き込み可能にします。

@pari: 彼は「require」を使用しているため、必要なファイルが存在しない場合、php はエラーをスローします。したがって、問題になることはありません。

于 2012-06-27T07:49:20.063 に答える