2014-09-18 148 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