2014-09-18 150 views
-1

我有一个我喜欢的php表单的代码。我试图用Web上的几个教程集成一些代码来上传文件。但没有成功! 需要帮助!这里是我使用的代码...韩国社交协会用php表格上传文件

<?php 

if (isset($_POST['email'])) { 

    // EDIT THE 2 LINES BELOW AS REQUIRED 

    $email_to = "[email protected]"; 
    $email_subject = "Message from website"; 
    function died($error) 
    { 

     // your error code can go here 

     echo "We are very sorry, but there were error(s) found with the form you submitted. "; 
     echo "These errors appear below.<br /><br />"; 
     echo $error . "<br /><br />"; 
     echo "Please go back and fix these errors.<br /><br />"; 
     die(); 
    } 

    // validation expected data exists 

    if (!isset($_POST['first_name']) || !isset($_POST['email']) || !isset($_POST['telephone']) || !isset($_POST['comments'])) { 
     died('We are sorry, but there appears to be a problem with the form you submitted.'); 
    } 

    $first_name = $_POST['first_name']; // required 
    $email_from = $_POST['email']; // required 
    $telephone = $_POST['telephone']; // not required 
    $comments = $_POST['comments']; // required 
    $error_message = ""; 
    $email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 
    if (!preg_match($email_exp, $email_from)) { 
     $error_message.= 'The Email Address you entered does not appear to be valid.<br />'; 
    } 

    $string_exp = "/^[A-Za-z .'-]+$/"; 
    if (!preg_match($string_exp, $first_name)) { 
     $error_message.= 'The First Name you entered does not appear to be valid.<br />'; 
    } 

    if (strlen($comments) < 2) { 
     $error_message.= 'The Comments you entered do not appear to be valid.<br />'; 
    } 

    if (strlen($error_message) > 0) { 
     died($error_message); 
    } 

    $email_message = "Form details below.\n\n"; 
    function clean_string($string) 
    { 
     $bad = array(
      "content-type", 
      "bcc:", 
      "to:", 
      "cc:", 
      "href" 
     ); 
     return str_replace($bad, "", $string); 
    } 

    $email_message.= "First Name: " . clean_string($first_name) . "\n"; 
    $email_message.= "Email: " . clean_string($email_from) . "\n"; 
    $email_message.= "Telephone: " . clean_string($telephone) . "\n"; 
    $email_message.= "Comments: " . clean_string($comments) . "\n"; 

    // create email headers 

    $headers = 'From: ' . $email_from . "\r\n" . 'Reply-To: ' . $email_from . "\r\n" . 'X-Mailer: PHP/' . phpversion(); 
    @mail($email_to, $email_subject, $email_message, $headers); 
?> 



    <!-- include your own success html here --> 





    <?php 
} 

?> 
+2

哪里是上传代码,我没有看到它 – meda 2014-09-18 16:35:39

+0

此外,表格代码是相关的。 – Jasper 2014-09-18 16:36:14

回答

0

您对HTML代码类似变化:

FROM: <form action="file.php" method="post"> 
TO: <form action="file.php" method="post" enctype="multipart/form-data"> 

看看:http://www.w3schools.com/php/php_file_upload.asp来看看如何上传文件。 上传后,您可以通过电子邮件附上文件。

看看:Send attachments with PHP Mail()?,看看如何安装文件中使用电子邮件()

+0

这是真的很有帮助谢谢。它将我的文件上传到我的上传文件夹中,但电子邮件中没有附件。我没有看到有关“w3s”的任何提示。我错过了什么吗? – Todok 2014-09-19 16:28:09

+0

我在答案中加入了一个链接...看看..;) – Fernando 2014-09-19 16:35:00

0

你的问题问及上传文件,但你的代码只是指交付使用PHP的消息。下面是上传文件的一些基本的PHP代码:

$target_path = "uploads/"; 

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

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

这里是围绕使用PHP,你可能会发现有用的上传文件的基础教程:Tutorial