2013-05-19 2 views
0

У меня есть PHP-форма, я пытаюсь отправить изображение из него в виде вложения. Я уже исправил несколько вещей в своем коде.Отправка изображения в приложение

  1. Я не уверен, если он будет посылать изображение (потому что у меня были некоторые проблемы с ним)
  2. Проблема заключается в том, что ничего не даже показано на странице (когда я скрипт ниже RAN), когда Я открываю его на сервере, как index.php даже не кнопку

Вот код:

<?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 = "[email protected]"; // the one that recieves the email 
$email_from = "[email protected]"; 
$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 
} 


?> 

Спасибо заранее!

ответ

0

Для задачи 1:

Try отправить почту с этим классом без каких-либо переменных, введенных в него. Поэтому просто сделайте какой-то процедурный код, отправляющий почту на свой адрес и узнайте, прибывает ли он.

Для задачи 2:

Вы ставите какой-нибудь текст в $output, но вы никогда не выводя $output.

+0

Я добавил эти три строки: – shmnsw

+0

Я добавил эти три строки: echo $ output; // $ image = $ _POST ["image"]; uploadImage ($ image); сразу после: if (empty ($ action)) блок и ничего не отображается. – shmnsw

Смежные вопросы