Sam Skirrow
Sam Skirrow

Reputation: 3697

php $output .= include code from file

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

Answers (4)

Florian Drechsler
Florian Drechsler

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

Rufinus
Rufinus

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

Gipsz Jakab
Gipsz Jakab

Reputation: 431

$output .= file_get_contents('file_with_long_code.html');

Yes, it is possible.

Upvotes: -1

A.B
A.B

Reputation: 20445

you can instead use getfilecontent function of php

 $output .=  file_get_contents('file_with_long_code.html'); 

Upvotes: 1

Related Questions