如何在PHP中将数据返回给我的邮件程序?

时间:2011-08-11 17:41:49

标签: php arrays function

我知道标题含糊不清,但我会尝试解释。我是PHP的新手,我正在编写一个简单的解析器来处理程序中的日志文件,现在我被困住了,让它给我一个文件名列表。我已经删除了一些不相关的代码并确保它有效。

<?php 


$inputFile = fopen("sampleScan2.html", "r");
$fileLocation = '';

function getFileList($inputFile)
{
    $line = '';
    $owner = '';
    global $fileLocations;
    $fileLocation = '';

    while (!feof($inputFile)) 
    {
        if (substr($line, 0, 1) != '    ')
        {
            $dom = new DOMDocument();
            $dom->preserveWhiteSpace = FALSE;
            @$dom->loadHTML($line);
            $tdElement = $dom->getElementsByTagName('td');
            $elementCount = $tdElement->length;
            for ($i=0; $i<$elementCount; $i++)
            {
                if ($i == 1)
                {
                    $fileLocation = $tdElement->item($i)->nodeValue;

                }
                if ($i== 6)
                {
                    $owner = $tdElement->item($i)->nodeValue;           
                }
            }
            echo $fileLocation . '<br>'; //Gives me correct file locations
        }
        $line = fgets($inputFile);
    }
}
//Send actual mail message
    $headers =  'MIME-Version: 1.0' . "\r\n" . PHP_EOL .
                'Content-type: text/html; charset=iso-8859-1' . "\r\n" . PHP_EOL .
                'From: "Jane Smith" <jsmith@endof.it>' . "\r\n" . PHP_EOL .
                'X-Mailer: PHP-' . phpversion() . PHP_EOL;
    $to =       '"John Smith" <jsmith@theInter.net>';
    $subject =  'Report';
    $message =  '\'' . getFileList($inputFile) . '\'' . '<br>'; //Call to get the file locations
    mail($to, $subject, $message, $headers);
fclose($inputFile);
?> 

所以基本上我希望能够在代码的邮件部分调用一些函数,并返回一个列表。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

什么的清单?在getFileList中生成的文件? getFileList没有生成列表,它只是在找到文件时输出文件,这意味着没有任何内容可以返回到$mesage = ...函数。

至少你需要这样的东西:

function getFileList(...) {
    $filelist = array();
    for (...) {
       $filelist[] = ...;
    }
    return $filelist;
}