Reputation: 4712
I am a newbie and have never used PHP before. I want to execute PHP script from an HTML file on Linux. What do I need to do?
This is the content of my HTML file:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Testing Weather Data</TITLE>
</HEAD>
<BODY>
<div id="weather">
<p>Weather Information
<?php include "/home/tahoang/Desktop/weatherData.php"; ?>
</div>
</BODY>
</HTML>
Upvotes: 3
Views: 53966
Reputation: 81711
You can embed the php code right into HTML using <?php ?>
tag and putting your php code between opening and closing tags.
Before that you need to add this handler in /etc/apache2/apache2.conf file to run php scripts inside .html file:
AddType application/x-httpd-php .html
Upvotes: 2
Reputation: 6919
What output do you receive? Does it just show the PHP code?
I assume that's the case.
For a test, change the extension on the file to .php
and run it again. Does it work now?
If so, you will need to associate PHP with .html
and .htm
files on your server.
EDIT
This is the line you want to add to your Apache config:
AddType application/x-httpd-php .html
Upvotes: 9
Reputation: 378
Here is the step by step process to include php code in html file ( Tested )
If PHP is working there is only one step left to use PHP scripts in files with *.html or *.htm extensions as well. The magic word is ".htaccess". Please see the Wikipedia definition of .htaccess to learn more about it. According to Wikipedia it is "a directory-level configuration file that allows for decentralized management of web server configuration."
You can probably use such a .htaccess configuration file for your purpose. In our case you want the webserver to parse HTML files like PHP files.
First, create a blank text file and name it ".htaccess". You might ask yourself why the file name starts with a dot. On Unix-like systems this means it is a dot-file is a hidden file. (Note: If your operating system does not allow file names starting with a dot just name the file "xyz.htaccess" temporarily. As soon as you have uploaded it to your webserver in a later step you can rename the file online to ".htaccess") Next, open the file with a simple text editor like the "Editor" in MS Windows. Paste the following line into the file: AddType application/x-httpd-php .html .htm If this does not work, please remove the line above from your file and paste this alternative line into it, for PHP5: AddType application/x-httpd-php5 .html .htm Now upload the .htaccess file to the root directory of your webserver. Make sure that the name of the file is ".htaccess". Your webserver should now parse *.htm and *.html files like PHP files.
You can try if it works by creating a HTML-File like the following. Name it "php-in-html-test.htm", paste the following code into it and upload it to the root directory of your webserver:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Use PHP in HTML files</TITLE>
</HEAD>
<BODY>
<h1>
<?php echo "It works!"; ?>
</h1>
</BODY>
</HTML>
Try to open the file in your browser by typing in: http://www.your-domain.com/php-in-html-test.htm (once again, please replace your-domain.com by your own domain...) If your browser shows the phrase "It works!" everything works fine and you can use PHP in .*html and *.htm files from now on. However, if not, please try to use the alternative line in the .htaccess file as we showed above. If is still does not work please contact your hosting provider.
Upvotes: 1
Reputation: 165
I am surprised no-one has mentioned a way to hack it - if you don't want to hassle of changing the Apache config here is how you do it:
In your .html file you simply make use out of iframes
<iframe name="myPHPScript" src="myScript.php" width="100%" frameborder="0"></iframe>
This will simply just display what ever is displayed as if you went directly to www.mysite.com/myScript.php
So for example we could have
<?php
echo 'Hello World!';
?>
Upvotes: 0
Reputation: 943097
You either run pass the file path as an argument to the php
command line program, or you configure a web server to execute the page as PHP (the specifics of which depend on the web server you use) then visit the URL of the page.
Upvotes: 1