[ad_1]
こんにちはチーム
サーバーからのログを使用してこの問題を抱えています。 メールをpdfとして送信し、関数を使用してphpmailerを使用しています。 しかし、現在、ログには、application.php の 94 行目に問題があることが示されています。 この問題を解決するにはどうすればよいですか?
私が試したこと:
$content = file_get_contents($filenameee); $content = chunk_split(base64_encode($content)); // main header (multipart mandatory) $headers = "From: ".$from." <".$from.">" . $eol; $headers .= "MIME-Version: 1.0" . $eol; $headers .= "Content-Type: multipart/mixed; boundary=\"" . $separator . "\"" . $eol; $headers .= "Content-Transfer-Encoding: 7bit" . $eol; $headers .= "This is a MIME encoded message." . $eol; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $subject = "Application Form"; // a random hash will be necessary to send mixed content $separator = md5(time()); // carriage return type (RFC) $eol = "\r\n";
// phpmailer を使用して添付ファイルのメールを送信する関数
echo "Starts here.."; function send_pdf_to_user(){ if($_REQUEST['action'] == 'pdf_invoice' ){ require('application.php'); require_once('class.phpmailer.php'); $pdf=new PDF_HTML(); $pdf->SetFont('Arial','',11); $pdf->AddPage(); $text = get_html_message($_REQUEST['Amount'], $_REQUEST['Purpose'], $_REQUEST['Voucher']); if(ini_get('magic_quotes_gpc')=='1') $text=stripslashes($text); $pdf->WriteHTML($text); $mail = new PHPMailer(); // defaults to using php "mail()" $body = ""; $mail->AddReplyTo("info@agilelimitless.org.za","Test Lernt"); $mail->SetFrom('ggcobani@gmail.com', 'Test Lernt'); $address = "ongeziwe.gogotye@agilelimitless.org.za"; $mail->AddAddress($address, "ACI Finance"); $mail->Subject = "Application for a Loan"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); //documentation for Output method here: http://www.fpdf.org/en/doc/output.htm $pdf->Output("Application Loan.pdf","F"); $path = "application.pdf"; $mail->AddAttachment($path, '', $encoding = 'base64', $type = 'application/pdf'); global $message; if(!$mail->Send()) { $message = "Application for a loan could not be send. Mailer Error: " . $mail->ErrorInfo; } else { $message = "Application for a loan is sent!"; } } } echo "after function"; $to = "Ongeziwe.Gogotya@agilelimitless.org.za"; $from = $_REQUEST['email']; $filenameee = $_FILES['id']['name']; $fileName = $_FILES['id']['tmp_name'];
解決策 1
エラー メッセージは非常に明確です。ファイル (またはファイルへのパスの一部) が存在しないか、アクセスできません。
推測では、ファイルはコンピューターに対してローカルであり、ローカル ファイル システムにアクセスできないサーバー上でコードが実行されています。
そのため、パスを確認してください。ファイルが実際に存在するコンピューターと、コードを実行しているコンピューターを特定します。
一見すると、これは Web アプリです。クライアント パスは、常にサーバー上で実行されるため、PHP コードに直接アクセスすることはできません。 ファイルにアクセスするには、セキュリティ上の理由から、ユーザーはまずサーバーへのファイルのアップロードを開始する必要があります。
[ad_2]
コメント