Blauwe lucht met lichte witte wolken

Veelgestelde vragen

Website

PHP (PHP: Hypertext Preprocessor) is een HTML-embedded scripttaal. Een groot deel van de syntax komt uit de programmeer talen C, Java en Perl met een aantal PHP-specifieke features toegevoegd. Het doel van PHP is om webdevelopers snel dynamisch gegenereerde pagina's te laten schrijven. Tevens is PHP ook als CGI parser in te zetten.
Naast Active Server Pages (ASP), wat native wordt ondersteund, kunt u ook gebruik maken van PHP.

 


Waar is PHP voor te gebruiken

PHP is voor vele doeleinden geschikt. Het beste komt het tot zijn recht als het wordt ingezet voor dynamische websites.
Hierbij kunt u bijvoorbeeld denken aan:

  • Gastenboeken
  • Forums
  • Frontends voor zoekmachines
  • Webshops

Bestanden die PHP-script bevatten moeten eindigen met de extensie .php. De huidige versie op onze servers is PHP 5.3.2 en 5.2.13, zie ook de Changelogs.

Als u problemen ondervindt, kunt u natuurlijk altijd contact opnemen met onze Klantenservice. Doet u dit bij voorkeur via het onderdeel Support op MyVEVIDA. Vermeldt hier wel extra informatie bij, zoals waar we uw scripts kunnen vinden e.d. Wij kunnen niet garanderen dat wij uw problemen kunnen oplossen, probeer daarom eerst om uw antwoord te vinden via internet.

Links naar sites over PHP kunt u vinden op onze "Links naar diverse (technische) informatie" pagina. Informatie opvragen over PHP configuratie instellingen kunt u doen middels de phpinfo() functie.


Domeinen redirecten in PHP

Omdat het in ons systeem niet mogelijk is om domeinen op DNS niveau te koppelen, kunt u domeinen naar elkaar linken met het volgende PHP scriptje:

 <?php
 header("HTTP/1.0 301 Moved permanently");
 header("Location: http://www.anderdomein.com");
 exit();
 ?>

Deze vijf regels plaatst u in een verder leeg default.php bestand. Deze uploadt u naar de /www-directory van uwdomein.com. Als Internetbezoekers nu uwdomein.com opvragen worden zij automatisch geredirect naar anderdomein.com, zonder dat zij dit door hebben.

Voor een tijdelijke redirect moet u gebruik maken van een 302 Moved Temporarily HTTP code. Informatie hierover staat in RFC 2616. Voor meer informatie en voorbeelden over het gebruik van subdomeinen in PHP, zie de pagina DNS en subdomeinen.


Datum notatie

Middels het volgende script kunt u een datum notatie in PHP weergeven, in het Nederlands.

 <?php
 $weekday = array(
 "zondag","maandag","dinsdag","woensdag",
 "donderdag","vrijdag","zaterdag"
 );
 $months = array(
 "januari","februari","maart","april","mei","juni",
 "juli","augustus","september","oktober","november","cecember"
 );
 list($wday,$mday,$month,$year) = split("( )",date("w j n Y"));
 $month -= 1;
 $this_day = "$weekday[$wday], $mday $months[$month] $year";
 echo ("$this_day");
 ?>


Andere PHP bestanden includen

 <?php include("d:/www/example.org/www/bestand.php"); ?>


of

 <?php include("bestand.php"); ?>


Absolute padverwijzingen

PHP wil wel eens problemen geven met een absolute verwijzing, bijvoorbeeld:
$basepath = 'd:/www/uwdomein.com/database';
Wanneer deze connectie niet gemaakt wordt kunt u het volgende invoeren:
$basepath = '../../database';
als virtueel (relatief) pad.

In een virtuele hosting omgeving, zoals bij VEVIDA, is de gereserveerde variabele $_SERVER['DOCUMENT_ROOT'];niet beschikbaar. In scripts is hier omheen te werken door de DOCUMENT_ROOT zelf te definieren:

 $_SERVER['DOCUMENT_ROOT'] = "D:/www/uwdomein.com/www";

 


Unlinken / Deleten van bestanden

Om via PHP bestanden te verwijderen kan er gebruik worden gemaakt van de unlink functie:

unlink("D:/www/uwdomein.com/www/directory/bestand.extensie");

Let er op dat de folder waar het te verwijderen bestand staat beschikt over schrijfrechten.


PHP 5 connectie naar een Access database

Om vanuit PHP 5 een connectie op te zetten naar een Access Database kunt u gebruik maken van de onderstaande voorbeeld code (DSN-Less).

Via de OLE DB Data Providers:

 <?php
 $db = realpath("d:/www/inlognaam.com/database/database_naam.mdb");
 
 $dbc = new COM('ADODB.Connection');
 
 // Access 2000, 2003 en Access 2007
 $dbc->Open("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=$db");
 // Access 2000, 2003
 // $ dbc->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");
 
 $sql = "SELECT Veld1 FROM Table1";
 $rs = $dbc->Execute( $sql );
 while(!$rs->EOF) {
 echo $rs->Fields['Veld1']->Value ."<br />";
 $rs->MoveNext();
 }
 
 // sluit de geopende objecten af
 $rs->Close();
 $dbc->Close(); 
 ?>

Via ODBC:

 <?php
 // Het relatieve pad naar de database
 $db = realpath("../database/db.mdb");
 
 // Maak het Object aan.
 // let-op: U kunt geen gebruik maken van de 'or die ("error")'
 $conn = new COM("ADODB.Connection");
 // Microsoft Access connectie string.
 $conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
 
 // Voer de sql-query uit
 $rs = $conn->Execute("SELECT Veld1 FROM Table1");
 
 // laat alle resultaten zien
 while(!$rs->EOF) { 
 $fv = $rs->Fields("Veld1");
 echo "Veld1: ". $fv->value ."<br>n";
 $rs->MoveNext();
 }
 
 // sluit de geopende objecten af
 $rs->Close(); 
 $conn->Close();
 ?>

Meer informatie:


Genereren PDF bestanden

Met de scripttaal PHP is het mogelijk om on the fly PDF bestanden te genereren. Het genereren kan met PDFlib (PDF Library (PHP.net website)). Deze is standaard aanwezig in PHP versie 4.
In de VEVIDA hostingomgeving is PHP versie 5 standaard, PDFlib is hier niet in opgenomen.

Om PDF bestanden te genereren kan er gebruik worden gemaakt van de gratis FPDF class, of een gratis class zoals gegeven in een Zend tutorial over het "on the fly" genereren van PDF bestanden met PHP:


Code snippets

Code snippets zijn kleine stukjes bruikbare code, voor nieuwe- en bestaande scripts.

 <?php
 // tellen hoeveel (milli-)seconden het duurt voor een
 // script uitgevoerd is.
 $stime = gettimeofday();
 ...
 ... // verdere PHP-code
 ...
 $ftime = gettimeofday();
 $time = round(($ftime['sec'] + $ftime['usec'] / 1000000) +- ($stime['sec'] + $stime['usec'] / 1000000), 5);
 echo 'Generated in '.$time.' s.';
 ?>
<?PHP
 // genereert een willekeurige string tekens, minimaal 8 en maximaal 17 tekens lang
 function keygen($tekens = false) {
 if(!$tekens) {
 $tekens = (int) "17";
 }
 
 $sleutel = "";
 $array = array ("a", "b", "c", "d", "e", "f", "g", 
 "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", 
 "r", "s", "t", "v", "x", "y", "z", 1, 2, 3, 4, 5, 
 6, 7, 8, 9, 0, "-", "", "+", "=", "_", "|", "/", 
 ",", "<", ".", ">", "?", ";", ":", """, "'", "A", 
 "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", 
 "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", 
 "V", "W", "X", "Y", "Z", "[", "]", "{", "}");
 
 for ($i = 8; $i < $tekens; $i++)
 $sleutel .= $array[rand(0, 80)];
 return $sleutel;
 }
 
 echo keygen();
 ?>


PHP performance tips

Google heeft een artikel, geschreven door Eric Higgins (Google webmaster), gepubliceerd onder de naam "Let's make the web faster, PHP performance tips".
Naast verschillende coding standaarden is het verstandig om dergelijke adviezen en richtlijnen op te volgen. Ook al levert het uw website slechts 0,(0)1? seconde snelheidswinst op. Uw code blijft er eenvoudiger leesbaar door, bevat minder fouten en hierdoor ook minder kwetsbaarheden.

Coding standaarden:
http://www.dagbladet.no/development/phpcodingstandard/
http://framework.zend.com/manual/en/coding-standard.html


Nieuwste versie PHP (5.3): ereg() verouderd

Wij introduceren de laatste versie van PHP (5.3.2) op onze nieuwste webserver. De scripttaal PHP wordt veel gebruikt door gratis beschikbare websoftware, zoals WordPress en Joomla. In versie 5.3 zijn niet veel grote wijzigingen, maar enkele functies zijn wel verouderd verklaard. U kunt een foutmelding krijgen als u zo’n functie in uw software gebruikt.

PHP stapt voor zijn functies met reguliere expressies over van POSIX naar PCRE. Daardoor kunt u de functies ereg()en eregi(), ereg_replace() en eregi_replace(), split() en spliti() beter niet meer gebruiken. De functies preg_match(),preg_replace() en preg_split() zijn het alternatief. Let u wel op de andere syntaxis voor reguliere expressies van die functies. Er zijn geen aparte functies meer voor hoofdlettergevoelig zoeken; dat kunt u nu met een pattern modifierinstellen.

U vindt meer informatie over de wijzigingen in deze laatste versie in de online documentatie.

Zend Optimizer
Vanaf PHP 5.3 is er geen ondersteuning meer voor Zend Optimizer en met Zend encoded PHP-bestanden. Maakt uw website gebruik van met Zend gecodeerde PHP-bestanden, dan kunnen wij uw website nog tijdelijk omzetten naar versie 5.2.

WinCache
Voor PHP versie 5.3 zal de Windows Cache Extension for PHP (WinCache) standaard ingeschakeld zijn. WinCache cachet de uitvoer van PHP code, waardoor uw website sneller functioneert.

Terug

Veilig betalen

securit

ideal paypal bancontact mastercard visa maestro