本章包括了有关 PHP 的大多数一般问题:它是什么和它做什么。
根据本手册的 前言:
PHP 是一种 HTML 嵌入式的脚本语言。它的很多语法来自 C,Java 和 Perl,并具有几个 PHP 独有的特点。该语言的主要目标是让 Web 开发人员快速地书写动态生成的网页。
PHP 是 PHP: Hypertext Preprocessor的首字母缩写。很多人有些糊涂了,因为缩写中的第一个字母也来自缩写。这种方法叫做递归缩写(recursive acronyms),对此好奇的人可以访问 » 在线计算机词典(Free On-Line Dictionary of Computing)或者Wikipedia上 » 递归缩写的解释。
PHP/FI 2.0 是最早的 PHP 版本,已经不再支持。PHP 3 是 PHP/FI 2.0 的后继者,要好很多。PHP 5 是目前一代的 PHP,内部使用了 » Zend 引擎 2 代,除了很多新功能之外还提供了许多附加的 面向对象编程(OOP)特性。
可以,请参阅见 PHP 源程序发行包中的 INSTALL文件。
PHP5可以向下兼容PHP4的程序,但PHP中有很多改进的地方。如下:
应该访问 PHP Bug 数据库并确认你发现的不是一个已知的 bug。如果你在数据库中没有看到同样的,用报告表单来报告此 bug。使用 bug 数据库而不是给某个邮件列表发邮件非常重要,因为该 bug 会被分配一个跟踪号码,这样你就有可能在以后回来查看该 bug 的状态。Bug 数据库在 » http://bugs.php.net/。
waffel1995 at gmail dot com (2013-06-16 15:27:34)
Welke php functie kan je gebruiken om een unix commando uit te voeren?
Antwoord: system
Met welke php functie kan je een verbinding maken met een LDAP server?
Antwoord: ldap_connect
Welk van de volgende is geen voordeel van een windows 2008 server netwerk?
Antwoord: Het is systeem is onafhankelijk van de server(s).
Een admin wachtwoord voor windows 2008 server bevat minstens:
Antwoord: Hoofdletters, kleine letters en cijfers.
Hoeveel ram geheugen heeft een windows 2008 server MINSTENS nodig?
Antwoord: 512 MB
Hoe voeg je een computer toe aan een windows 2008 server domein?
Antwoord: Een beheerder moet de computer registreren bij het domein. Eerst moet op de server een naam aangemaakt worden. Daarna moet op de client via systeeminstellingen de computer lid gemaakt worden.
Windows 2008 server heeft 2 verschillende licentiemodi: per server en per apparaat. Je kan deze modus achteraf eenmalig wijzigen.
Welke ubuntu package moet je installeren voor je php kan gebruiken voor het maken van systeemscripts?
Antwoord: php5-cli
Via welke php functie kan je te weten komen of de huidige gebruiker root is?
Antwoord: posix-geteuid
Maak een systeemscript in php dat, indien je een bestand als argument geeft, een kopie maakt van dat bestand met de extentie .backup. Daarnaast wordt er ook een tweede kopie gemaakt, met de extentie .backup2. Indien je geen argument geeft, of indien het bestand niet bestaat, laat je een duidelijke foutmelding zien.
#!/usr/bin/php5
<?php
if ($argc < 2) {
echo "Geef een bestandsnaam als argument.\n";
exit;
} else {
$naam = $argv[1];
if (file_exists($naam)) {
system("cp ".$naam." ".$naam.".backup");
system("cp ".$naam." ".$naam.".backup2");
}else{
echo "\nBestand bestaat niet!\n";
}
}
?>
Maak een php script dat als argument een getal aanneemt. (Voorzie ook een foutmelding in het geval dit getal ontbreekt.) Het script script toont op het scherm of dit getal even of oneven is.
#!/usr/bin/php5
<?php
if($argc == 2){
$getal = $argv[1];
echo "Het gevraagde getal is";
if ($getal % 2) { echo " niet"; }
echo " even.\n";
}else{
echo "Geef een getal als argument!\n";
}
?>
Maak een php script dat als argument een bestandsnaam krijgt en aan dat bestand, indien het bestaat, een signature toevoegt. Met andere woorden, onder aan het bestand voeg je de onderstaande regels toe (variaties zijn toegelaten):
--
Jan Janssens
6 INF
Antwoord:
#!/usr/bin/php5
<?php
if ($argc < 2) {
echo "Geef een bestandsnaam als argument.\n";
exit;
} else {
$naam = $argv[1];
if (file_exists($naam)) {
$content = file($naam);
$content[] = "\n--";
$content[] = "\nJan Janssens";
$content[] = "\n6 INF\n";
file_put_contents($naam, $content);
}else{
echo "\nBestand bestaat niet!\n";
}
}
?>
Maak een script dat als argument een bestandsnaam aanvaardt. Dat bestand wordt door het script verplaatst (hernoemd) naar bestandsnaam_uur. Waarbij bestandsnaam de ingegeven naam is en uur het uur van de huidige tijd.
<?php
if($argc == 2){
$naam = $argv[1];
$nieuwenaam = $naam."_".date("H");
if(file_exists($naam)){
system("mv ".$naam." ".$nieuwenaam);
}else{
echo "Bestand bestaat niet!\n";
}
}else{
echo "Gelieve een bestandsnaam te geven.\n";
}
?>