我在這裏用PHP發送電子郵件。隨着文本,啤酒其他領域一切工作正常。問題是上傳文件。 一切看起來都不錯。即使是文件電子郵件的功能也是完美的。但消息中沒有任何提示。 當我點擊「Wyślijwiadomość」(發送)時,我收到有關上傳文件問題的消息。 enyone知道出了什麼問題嗎?PHP - 上傳文件[POST]
<?php
//--- początek formularza ---
if(empty($_POST['submit'])) {
?>
\t \t <form action="" method="post">
<table class="col-md-10 col-sm-12 col-xs-12">
<tr>
<td class="col-md-2">NAZWISKO:<br /><br/></td>
<td><input type="text" name="formName" /></td>
</tr>
\t \t \t <tr>
<td class="col-md-2">E-MAIL:<br /><br/></td>
<td><input type="text" name="formEmail"/></td>
</tr>
<tr>
<td class="col-md-2">ZAŁĄCZ KOSZTORYS:<br /><br/></td>
<td><input type="file" name="formFile" /></td>
</tr>
<tr>
<td class="formularzTresc col-md-2">TREŚĆ:<br /><br/></td>
<td><textarea name="formText"></textarea></td>
</tr>
<tr>
<td></td>
<td><p align="right"><input type="submit" name="submit" value="Wyślij wiadomość" /><p></td>
</tr>
</table>
</form>
<?php
} else {
//dane adresata
$email = '#';
//dane z formularza
$formName = $_POST['formName'];
$formEmail = $_POST['formEmail'];
$formText = $_POST['formText'];
$formFile = $_POST['formFile'];
if(!empty($formName) && !empty($formEmail) && !empty($formText)) {
//--- początek funkcji weryfikującej adres e-mail ---
function checkMail($checkmail) {
if(filter_var($checkmail, FILTER_VALIDATE_EMAIL)) {
if(checkdnsrr(array_pop(explode("@",$checkmail)),"MX")){
return true;
}else{
return false;
}
} else {
return false;
}
}
//--- koniec funkcji ---
if(checkMail($formEmail)) {
//dodatkowe informacje: ip i host użytkownika
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
//tworzymy szkielet wiadomości
//treść wiadomości
$mailText = "Treść wiadomości:\n$formText\nOd: $formName, $formEmail, $formFile ($ip, $host)";
//adres zwrotny
$mailHeader = "From: $formName <$formEmail>\r\n";
\t $mailHeader .= "Content-type: text/plain; charset=utf-8\r\n";
$target_path = "../przeslanePliki";
$target_path = $target_path . basename($_FILES['formFile']['name']);
if(move_uploaded_file($_FILES['formFile']['tmp_name'], $target_path)) {
echo "The file ". basename($_FILES['formFile']['name']).
"Plik został wysłany";
} else{
echo "Wystąpił problem z przesłaniem pliku. Prosimy spróbować ponownie.";
}
\t
//funkcja odpowiedzialna za wysłanie e-maila
@mail($email, 'Pytanie do eksperta', $mailText, $mailHeader) or die('Błąd: wiadomość nie została wysłana');
//komunikat o poprawnym wysłaniu wiadomości
echo 'Wiadomość została wysłana';
} else {
echo 'Adres e-mail jest niepoprawny';
}
} else {
//komunikat w przypadku nie powodzenia
echo 'Wypełnij wszystkie pola formularza';
}
//--- koniec formularza ---
}
?>
什麼是* exact *錯誤消息? –
我不知道,我不知道如何寫日誌到文件或某事。 我知道這裏的其他部分工作: if(move_uploaded_file($ _ FILES ['formFile'] ['tmp_name'],$ target_path)){ 但是,感謝下面的人我解決了這個問題,但有一個新的一個現在如果工作正常,那裏有一個信息,該文件已發送,但沒有在我的郵箱附件只是一個沒有它的短信。 – Aviene