Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以php表单作为附件发送图像_Php_Ajax - Fatal编程技术网

以php表单作为附件发送图像

以php表单作为附件发送图像,php,ajax,Php,Ajax,我有一个php表单,我试图从中获取一个图像作为附件,我对代码做了一些修改 1.我不确定它是否会发送图像(因为我有一些问题)。。 2.问题是,当我在服务器中以index.php打开页面时,页面中甚至会显示noting 连按钮都没有 代码如下: <?php include_once("functions.php"); // Process $action = isset($_POST["action"]) ? $_POST["action"] : ""; if (empty($action)

我有一个php表单,我试图从中获取一个图像作为附件,我对代码做了一些修改 1.我不确定它是否会发送图像(因为我有一些问题)。。 2.问题是,当我在服务器中以index.php打开页面时,页面中甚至会显示noting 连按钮都没有

代码如下:

<?php

include_once("functions.php");
// Process
$action = isset($_POST["action"]) ? $_POST["action"] : "";
if (empty($action)) 
{
    // Send back the contact form HTML
    $output = "<form action='#' style='display:none'>
               <input type='file' id='image' name='image' maxlength=50>";
}

require("class.phpmailer.php");
$Email_to = "someone@gmail.com"; // the one that recieves the email
$email_from = "someone@someone.net";
$dir = "uploads/$filename";
chmod("uploads",0777);


function uploadImage($image)
{
    if ((($_FILES["image"]["type"] == "image/gif")
    || ($_FILES["image"]["type"] == "image/jpeg")
    || ($_FILES["image"]["type"] == "image/pjpeg")
    || ($_FILES["image"]["type"] == "image/jpg")
    || ($_FILES["image"]["type"] == "image/png"))
    && ($_FILES["image"]["size"] < 2097152)
    && (strlen($_FILES["image"]["name"]) < 51))
    {
        if ($_FILES["image"]["error"] > 0)
        {
            echo "Return Code: " . $_FILES["image"]["error"];
        }
        else
        {
            echo "Upload: " . $_FILES["image"]["name"] . "<br />";
            echo "Type: " . $_FILES["image"]["type"] . "<br />";
            echo "Size: " . ($_FILES["image"]["size"] / 1024) . " Kb<br />";
            echo "Temp file: " . $_FILES["image"]["tmp_name"] . "<br />";

            if (file_exists("images/" . $_FILES["image"]["name"]))
            {
                echo $_FILES["image"]["name"] . " already exists. ";
            }
            else
            {
                move_uploaded_file($_FILES["image"]["tmp_name"],
                    "images/" . $_FILES["image"]["name"]);
            }
        }
    }
    else
    {
        echo "Invalid file";
    }
$filename = $_FILES["image"]["type"];
$dir = "uploads/$filename";
chmod("uploads",0777);
$success = copy($_FILES[images][tmp_name], $dir);
if ($success) 
    {
    echo " Files Uploaded Successfully<BR>";
    SendIt();
    }
}//end of upload func'


function SendIt() {
//
global $attachments,$Email_to,$Email_msg,$email_subject,$email_from;

$mail = new PHPMailer();
$mail->IsSMTP();// send via SMTP
$mail->Host = "localhost"; // SMTP servers
$mail->SMTPAuth = false; // turn on/off SMTP authentication
$mail->From = $email_from;
$mail->AddAddress($Email_to);
$mail->AddReplyTo($email_from);
$mail->WordWrap = 50;// set word wrap
//now Attach all files submitted
$mail->AddAttachment("uploads"."/".$_FILES["image"]["type"]);

$mail->IsHTML(false);// send as HTML
}


?>

要将图像加入电子邮件,您需要创建一封MIME电子邮件,一封简单的邮件()是不够的。数以百万计的模块可以处理这个问题,但是PEAR通常已经在您的环境中可用。

我刚刚编辑了我的问题,如果有人可以看一下..是的,或者SwiftMailer。更可靠的方法是像发送多部分电子邮件那样精巧地进行操作。