there is a concept: active pages, dynamic pages as opposed to static pages, that is involved with what you’re asking, and is not restricted to php. php is only one of the many ways to have static html content become active, dynamic, with the help of the server side technologies.
As guido alluded to earlier a .php file is essentially a .htm file with php code inside of it.
I’ll summarise quickly what normally happens.
Say you now have some php code as well in the same html file as in 1).
The file should now have a .php extension. This .php extension tells the web server that when someone points their browser to that .php file, the server should first send that php file to the php “engine” on the server. The php engine then reads through that php file line by line and ouputs any html, js,css code unaltered and processes any php code between <?php ?> tags as it comes across them. Any output from the php code is then inserted in place of the php code in the original php file. When the entire .php file has been read and processed by the php engine, the resultant output , which is now just plain html with the original js, css and output from the php code is sent back to the requestors browser and processed by the browser as in 1).
You don’t need a header with .php, nor do you need to optimize meta tags, titles, or anything else. Focus solely on keeping your site content fresh, and everything else takes cares of itself, by itself…
(If my first few lines are like the HTML header shown above, I assume you could put PHP before that, right??)
So yes, you can start the file off with a HTML header.