Reputation: 3697
Just trying to tidy up a little bit of code here. I have a php command to output some html. However, one of my comands is quite a large amount of html, I was wondering if it's possible to output code referenced in a different file?
For example, my current php looks like this:
$output .= '<div class="contact-form '.$css_class.'" >';
$output .= '<h4 class="form-title">'.$title.'</h4>';
$output .= 'SOME VERY LONG CODE'
Is it possible to do something like this:
$output .= include('file_with_long_code.html');
instead? I aven't tested this, but am curious to know if it works or what the proper way of doing it is
Upvotes: 0
Views: 121
Reputation: 178
You could do something like this:
ob_start();
include('somefile.php');
$output = ob_get_contents();
Read more about output buffering in the docs: http://php.net/manual/en/function.ob-start.php
I recommend using a PHP Framework, most of them have a very good functionality for these Kinds of "Problems".
Upvotes: 1
Reputation: 30773
html file.tpl.php:
<div class="contact-form <?=$css_class; ?>" >
<h4 class="form-title"><?=$title; ?></h4>
SOME VERY LONG CODE
main file:
<?php
ob_start();
include('file.tpl.php');
$output = ob_get_contents();
ob_end_clean();
?>
Upvotes: 0
Reputation: 431
$output .= file_get_contents('file_with_long_code.html');
Yes, it is possible.
Upvotes: -1
Reputation: 20445
you can instead use getfilecontent function of php
$output .= file_get_contents('file_with_long_code.html');
Upvotes: 1