Ввод данных от 3-х текстовых файлов в 3 переменные


У меня есть следующий код, который получает данные из 3 текстовых файла и кладет их в 3 переменные. Как я могу реструктурировать это, чтобы сделать его меньше?

$handle = fopen($template_filename, "r");
if (filesize($template_filename) > 0)
{
    $email_template = fread($handle, filesize($template_filename));
}
fclose($handle);

// get the subject from a text file
$handle = fopen($subject_filename, "r");
if (filesize($subject_filename) > 0)
{
    $subject_template = fread($handle, filesize($subject_filename));
}
fclose($handle);

// get the footer from a text file
$handle = fopen($footer_filename, "r");
if (filesize($footer_filename) > 0)
{
    $footer_template = fread($handle, filesize($footer_filename));
}
fclose($handle);


173
2
php
задан 10 октября 2011 в 04:10 Источник Поделиться
Комментарии
2 ответа

Для одна вещь, вы можете использовать функции file_get_contents:

$email_template = file_get_contents($template_filename);
$subject_template = file_get_contents($subject_filename);
$footer_template = file_get_contents($footer_filename);

3
ответ дан 10 октября 2011 в 07:10 Источник Поделиться

Инкапсуляции повторяющихся частей в функция функция openfile(), открывать файлы с помощью функции file_get_contents, и, наконец, проверка на пустой файл размером через функция strlen в троичной и вернуть содержание или сообщение об ошибке ("пустой файл". в этом случае рекомендую вам заменить с ошибкой вызов функции или что-то).

function openFile($filename){
$contents = file_get_contents($filename);
return strlen($contents) > 0 ? $contents : "Empty file.";
}

$email_template = openFile($email_filename);
$subject_template = openFile($subject_filename);
$footer_template = openFile($footer_filename);

# Test case
echo openFile("http://www.google.com");

0
ответ дан 16 июля 2012 в 07:07 Источник Поделиться