Как мне вернуть данные в почтовую программу на PHP? - PullRequest
1 голос
/ 11 августа 2011

Я знаю, что название нечеткое, но я попытаюсь объяснить. Я новичок в 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 голосов
/ 11 августа 2011

Список чего?Файлы, генерируемые в getFileList?GetFileList не генерирует список, он просто выводит файлы в том виде, в котором они были найдены, а это значит, что нечего возвращать обратно к вашей функции $mesage = ....

Как минимум, вам потребуется что-то вроде

function getFileList(...) {
    $filelist = array();
    for (...) {
       $filelist[] = ...;
    }
    return $filelist;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...