Bir otomatik e-posta komut dosyası içine html üreten php script dönüştürme

1 Cevap php

Ben bunun yerine bir e-posta gönderdi olsun ki ben bir görüntü aktarıcı bir HTML sayfası oluşturmak için bu script var, tek sorun her yüklenme kullanıcısının kendisi üzerine yazmak olduğunu, bunu değiştirmek istiyorum.

Fikirler?

 <?php

$destination_dir = "uploaded/";
$targetPath = dirname($_SERVER['SCRIPT_URI']) . "/";

$html_start = "
<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">

<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
<title>Upload results</title>
</head>
<body>
";

$html_end = "
</body>
</html>
";

// Check if there are AdditionalStringVariable
$result = "AdditionalStringVariable: " . $_POST["AdditionalStringVariable"];
$result .= "<br>";


// Process value of QIU_thumbnails_Imagedata field, this is JPEG-files array of generated thumbnails
if($_FILES[QIU_thumbnails_Imagedata])
{
foreach ($_FILES[QIU_thumbnails_Imagedata][name] as $key => $value) 
{
    $uploadfile = $destination_dir . basename($_FILES[QIU_thumbnails_Imagedata][name][$key]);


    if (move_uploaded_file($_FILES['QIU_thumbnails_Imagedata']['tmp_name'][$key], $uploadfile)) 
    {

        $big_image_name = $_FILES[Imagedata][name][$key];

        $result .= "<a href='" .$big_image_name. "'>" . "<img border = '0' src='".$value . "'/></a><br><br>";
    }
}
}
//
$result .= "<br>";


// Process value of Imagedata field, this is JPEG-files array

foreach ($_FILES[Imagedata][name] as $key => $value) 
{
$uploadfile = $destination_dir . basename($_FILES[Imagedata][name][$key]);

if (move_uploaded_file($_FILES['Imagedata']['tmp_name'][$key], $uploadfile)) 
{
    $result .= "File uploaded: <a href='".  $value . "'>" . $value . "</a><br>";
}
}


//
$result .= "<br>";




//
// Process  GlobalControlData field, this is the array of serialized data for Global controls 
// the value for each control is: id|value
if($_POST[GlobalControlData])
    {
    foreach ($_POST[GlobalControlData] as $key => $value) 
{
    $globalControlExploded =  explode("|", $value);
    $result .= "\n" . "GlobalControlData:\n\t" . $globalControlExploded[0] ."\t:\t" . $globalControlExploded[1] . "<br>";
}
}

//
// Process LocalControlData  field, this is the array of serialized data for Local controls 
// value for each image is: image||id1|value1^id2|value2^id3|value3, where image - is picture name, id - is unique control ID , and a value - control value
if($_POST[LocalControlData])
{
foreach ($_POST[LocalControlData] as $key => $value) 
{
    $exploded = explode("||", $value);
    $parentFile = $exploded[0];

    $result .= "<br>" . $exploded[0] . "<br>";

    $explodedToControls = explode("^", $exploded[1]);

    foreach ($explodedToControls as $cnt => $val) 
    {
        $eachControl = explode("|", $val);
        $result .= "\tcontrol:\t" . $eachControl[0] . ", value:\t" . $eachControl[1] . "<br>";

    }
    //
}
}
//

$result = $html_start . $result . $html_end;

//
if(@$fp = fopen($destination_dir.'index.html', 'w')) {
      fwrite($fp, $result);
      fclose($fp);
}

132    echo $targetPath . $destination_dir;  
133  
134   ?>  

Ben sadece bu ekledi:

135 
136    $to = 'michael.robinson@mac.com';
137    $subject = 'Baublet Order Received';
138    $headers = 'From: orders@baublet.com '. "\r\n" .
139           'MIME-Version: 1.0' . "\r\n" .
140    'Content-type: text/html; charset=utf-8' . "\r\n";
141    mail($to, $subject, $result, $headers");
142
143   ?>  

1 Cevap

Bunun yerine sunucu HTML tasarrufu, bir yerde bir e-posta olarak göndermek istiyorsanız, anlıyorum. Bu sizin için ne soruyorsun? Değilse, düzenleyin / neye ihtiyacınız netleştirmek için soru comment.

Blok

if(@$fp = fopen($destination_dir.'index.html', 'w')) {
      fwrite($fp, $result);
      fclose($fp);
}

, sunucunun dosya sistemindeki dosya yazma önemser potansiyel şey yerine. Eğer sunucu üzerinde bir dosya olarak HTML kaydetmek istemiyorsanız, sadece (silebilir veya yorum) bloğun kurtulmak gerekir.

Bu noktada zaten $result değişkeni (Bir daha yakından bakmak bile, bu özgün kod dosyaya kaydetme ne olduğunu) oluşturulan HTML var; posta ile göndermek istiyorsanız eğer öyleyse, zaten vücudunuzun var. , "CC" (varsa) ve "BCC" (varsa) adresleri yanı sıra posta için konu "için", "dan" anlamaya. Bir çoğu gibi gider "dan" bir sabit veya sabit değil, aynı zamanda POSTed formundan bir giriş alanı olabilir. "Için" adresi posta göndermek demek nereye bağlıdır. Sonra aslında posta için bu gibi bir şey kullanabilirsiniz:

$to = "here goes the destination address";
$subject = "here you put the subject line for the e-mail";
$headers = "From: " . $whatever_your_sender_address_is . "\r\n" .
           "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8\r\n";
mail($to, $subject, $result, $headers);

Take a look at mail()'s documentation on http://ie2.php.net/manual/en/function.mail.php for further details about the mail() function. Note that in this case you'll need to define at least 3 headers: "From" must always be specified (some server-side mail apps may have a default "from" address, but it's always advisable to step on solid ground). The "MIME-Version" and "Content-type" headers are to ensure that the mail is sent as HTML, rather than as text. You might want to add "Reply-to", "CC", "BCC", and other headers, depending on your needs: in such case, just append them to the $headers variable, separated with "\r\n", before the call to mail().

Umarım bu yardımcı olur.