これは私がこのクエリを尋ねる4回目です。このスクリプトの問題点は何ですか?
私はインターネットから入手した添付ファイルを持った連絡フォームを持っています。エラーは表示されませんが、ファイルを添付してメールを送信しようとすると機能しませんでした。あなたは問題が何であるか教えてもらえますか、または添付ファイル付きの簡単な連絡フォームを提案できますか?私はすでに、インターネット上の添付ファイルでほとんどのコンタクトフォームを試しましたが、ほとんどのファイル添付部分は機能しません。
以下は、スクリプトの一部であるHTMLコードの一部です。私のサイトはオンラインで、これにより私は問題に直面しています。
<form action="" method="post" name="form1" enctype="multipart/form-data">
<input name="txtTo" type="text" id="txtTo">
<input name="txtSubject" type="text" id="txtSubject">
<textarea name="txtDescription" cols="30" rows="4" id="txtDescription">
<input name="txtFormName" type="text">
<input name="txtFormEmail" type="text">
<input name="fileAttach" type="file">
<input type="submit" name="Submit" value="Send">
</form>
PHPスクリプト
<?php
if(isset($_POST["submit"])){
$strTo = $_POST["txtTo"];
$strSubject = $_POST["txtSubject"];
$strMessage = nl2br($_POST["txtDescription"]);
//*** Uniqid Session ***//
$strSid = md5(uniqid(time()));
$strHeader = "";
$strHeader .= "From: ".$_POST["txtFormName"]."<".$_POST["txtFormEmail"].">\nReply-To: ".$_POST["txtFormEmail"]."";
$strHeader .= "MIME-Version: 1.0\n";
$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
$strHeader .= "This is a multi-part message in MIME format.\n";
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-type: text/html; charset=utf-8\n";
$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
$strHeader .= $strMessage."\n\n";
//*** Attachment ***//
if($_FILES["fileAttach"]["name"] != "")
{
$strFilesName = $_FILES["fileAttach"]["name"];
$strContent = chunk_split(base64_encode(file_get_contents($_FILES["fileAttach"] ["tmp_name"])));
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n";
$strHeader .= "Content-Transfer-Encoding: base64\n";
$strHeader .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
$strHeader .= $strContent."\n\n";
}
$flgSend = @mail($strTo,$strSubject,null,$strHeader); // @ = No Show Error //
if($flgSend)
{
echo "Mail send completed.";
}
else
{
echo "Cannot send mail.";
}
}
?>
? – zerkms
いくつかの重要なステップが欠落しています。あなたはそれについてもう少し研究する必要があります。あなたはほとんどそこにいます。 http://www.tizag.com/phpT/fileuploadをご覧ください。phpと http://php.net/move_uploaded_file – micha
あなたの素晴らしい返信のためにmichaさんに感謝します – test