Wat is het PHP-bestandsformaat?
Een .php-bestand is een document in platte tekst dat broncode bevat geschreven in PHP (Hypertext Preprocessor), een veelgebruikte scripttaal aan de serverzijde. Een .php-bestand kan PHP-code bevatten vermengd met HTML-opmaak, tekst en inline CSS of JavaScript.
Toepassingen van PHP-bestanden
PHP-bestanden worden gebruikt om dynamisch HTML-pagina's te genereren met behulp van de PHP-engine van de server. PHP-bestanden worden ook gebruikt om webapplicaties te maken. Websites gebruiken vaak .php-bestanden om online formulieren te verwerken - bijvoorbeeld een contactformulier - of als middel om toegang te krijgen tot databases. WordPress, een bekend contentmanagementsysteem, maakt uitgebreid gebruik van PHP-scripts, evenals populaire frameworks zoals Laravel en Symfony.
Verwerking van PHP-bestanden
PHP-bestandscode wordt verwerkt door de PHP-engine die op de webserver staat, die dynamische HTML-uitvoer genereert. Deze HTML-inhoud wordt vervolgens naar de webbrowser van de gebruiker gestuurd en als een webpagina weergegeven. Dit proces zorgt ervoor dat de eigenlijke PHP-code niet toegankelijk is voor de gebruiker, zelfs niet door de broncode van de pagina te bekijken. PHP-codeblokken beginnen met de openingstag <?php; de sluitingstag ?> wordt bij pure scriptbestanden opzettelijk weggelaten om onbedoelde uitvoer te voorkomen voordat HTTP-headers worden verzonden.
Aanvullende informatie
Beveiliging & veiligheid
RISICO: MEDIUMEen .php-bestand is een programma dat OP EEN SERVER draait, dus een kwaadaardig PHP-script (een „web shell” zoals c99/r57) dat naar een site wordt geüpload, kan een aanvaller commando's laten uitvoeren, de database laten lezen of de server overnemen - implementeer nooit .php-bestanden van niet-vertrouwde bronnen op een live site zonder ze te controleren. Het louter openen van een .php in een teksteditor is veilig (het is alleen tekst) en voert deze NIET uit. Twee operationele risico's: (1) .php-bestanden bevatten vaak databasewachtwoorden en API-sleutels, dus ze mogen niet openbaar downloadbaar zijn; (2) het draaien van PHP op een verouderde versie (PHP 5/7) stelt u bloot aan bekende kwetsbaarheden - houd PHP bijgewerkt naar een ondersteunde 8.x-versie.
Formaatdetails
in een notendopProgramma's die PHP-bestanden openen
Technische details
diepe specificaties| Bestandstype | Platte tekst server-side script, UTF-8 gecodeerd |
| MIME-type | application/x-httpd-php |
| Bestandssignatuur (magic bytes) | Geen - platte tekst zonder binaire signatuur; bestanden openen doorgaans met de <?php tag op byte-offset 0 |
| Openingstag | <?php (standaardblok) of <?= (korte echo-tag voor inline uitvoer) |
| Sluitingstag | ?> - optioneel; opzettelijk weggelaten aan het einde van pure PHP-bestanden om onbedoelde witruimte-uitvoer voor HTTP-headers te voorkomen |
| Executiemodel | Server-side; de PHP-engine op de webserver interpreteert het bestand en levert de resulterende HTML aan de browser van de client |
| PHP-engine | Zend Engine - de kern-interpreter die de officiële PHP-runtime aanstuurt, met JIT-compilerondersteuning |
| CLI-executie | php script.php of php -f script.php |
| Variabele syntaxis | Alle variabelenamen worden voorafgegaan door een $ (bijv. $name, $count, $items) |
| Hoofdlettergevoeligheid | Variabelenamen zijn hoofdlettergevoelig; functie- en klassenamen niet |
| Superglobals | $_GET, $_POST, $_SESSION, $_COOKIE, $_SERVER - vooraf gedefinieerde arrays voor HTTP-verzoeken en sessiecontext |
| Belangrijke frameworks en CMS | Laravel, Symfony, CodeIgniter (frameworks); WordPress, Drupal, Joomla (contentmanagementsystemen) |
| Databetoegang | Ingebouwde MySQLi- en PDO-extensies; ondersteunt MySQL, PostgreSQL, SQLite en andere databases |
| Runtime-configuratie | php.ini regelt geheugenlimieten, foutrapportage, bestandsgrootte voor uploads en welke extensies worden geladen |
| Gerelateerde extensies | .phtml (PHP/HTML-sjabloonmix), .phps (PHP-bronweergave), .php3 / .php4 / .php5 / .php7 (verouderde PHP-scripts met versienummer) |
| Uitgebracht | 1995 (PHP/FI by Rasmus Lerdorf); PHP 8.x is current |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.php.net |
PHP conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PHP-bestanden.