Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:php:php_mintak

< PHP

PHP minták

  • Szerző: Sallai András
  • Copyright © Sallai András, 2011, 2012, 2013, 2015, 2019
  • Licenc: GNU Free Documentation License 1.3

Weblap fejlécének előállítása

<?php
header('Content-Type: text/html; charset=utf-8');
header('X-Custom-Header-1: foobar')
?>

Fájlkezelés

Megnyitás hozzáfűzésre:

$adatfile = fopen("adat.txt", "a") or exit("Nem tudom megnyitni a fájlt!");
fputs($adatfile, "Adat\n\n");
fclose($adatfile);

LDAP

$ldapConn=ldap_connect("localhost");
ldap_set_option($ldapConn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapConn, LDAP_OPT_REFERRALS, 0);
 
if ($ldapConn) 
{
    //bind ha kell:
    $ldapBind=ldap_bind($ldapConn,"BindUser","BindPassword");
 
    $ldapBase="ou=People,dc=domain,dc=com";
    $filter="cn=$UserName*";
    $justthese = array( "givenName", "sn", "mail", "description");
 
    $ldapSearch = ldap_search($ldapConn, $ldapBase, $filter, $justthese);
 
    $info = ldap_get_entries($ldapConn, $ldapSearch);
 
    print_r($info);
}

IP cím lekérdezése

echo "Távoli cím: " . $_SERVER['REMOTE_ADDR']."<br/>";
echo "X Forward: " . $_SERVER['HTTP_X_FORWARDED_FOR']."<br/>";
echo "IP kliens: " . $_SERVER['HTTP_CLIENT_IP']."<br/>";
function getIp() {
    $ip = $_SERVER['REMOTE_ADDR'];
 
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
 
    return $ip;
}

Átirányítás

header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.masikdomain.valahol/');
exit();

Kérjünk be 0 végjelig minta

Olyan feladatok megoldásához nyújt segítséget, ahol például számokat kell bekérni 0 végjelig. Az index.php a példában minidig önmagát hívja.

index.php
<?php
 
header("Content-Type: text/html; charset=UTF-8");
$szam = $_GET['szam'];
$osszeg = $_GET['osszeg'];
$szamlalo = $_GET['szamlalo'];
$osszeg = $osszeg + $szam;
$szamlalo++;
 
if($szam == "0" )
{
    $szamlalo = $szamlalo -2;
    print "Összeg: ".$osszeg."<br />";
    print "Számláló: ".$szamlalo."<br />";
    print "Átlag: ". $osszeg / $szamlalo ."<br />";
}
else
{
 
    print <<<EOT
<form action="index.php">
Szam: <input type="text" name="szam" /><br />
<input type="submit" />
<input type="hidden" name="osszeg" value=$osszeg />
<input type="hidden" name="szamlalo" value=$szamlalo />
</form>
EOT;
 
}
 
 
?>

A program nem csak a bekérést valósítja meg, de számol, összegez és átlagol.

A kiíratás előtt le kell levonni 2-t. Egyet azért, mivel a $szamlalo már eleve 1-gyel kezd a weblap első megjelenéskor. A másik egyes értéket pedig azért mert a program a 0 érték végjelet is megszámolja, amit nem kell.

0 végjelig számok, majd maximum és minimum számítás

index.php
<?php
 
header("Content-type:text/html; charset=UTF-8");
 
if(!isset($_GET['szam']))
{
	urlap();
}
else if($_GET['szam'] == "0")
{
	$min = $_GET['min'];
	$max = $_GET['max'];
	echo "Minimum: ". $min . "<br />";
	echo "Maximum: ". $max . "<br />";
}
else
{
	$szam = $_GET['szam'];
	$min = $_GET['min'];
	$max = $_GET['max'];
	$szamlalo = $_GET['szamlalo'];
 
	if($szamlalo > 0)
	{
		if($min > $szam)
			$min = $szam;
	}
	else
	{
		$min = $szam;
	}
 
	if($max<$szam)
		$max = $szam;
	$szamlalo++;
	urlap();
}
 
function urlap()
{	
	global $min, $max, $szam, $szamlalo;
	echo "<form action=\"index.php\" method=\"get\">\n";
	echo "Szám: <input type=\"text\" name=\"szam\"><br />\n";
	echo "<input type=\"submit\">\n";
	echo "<input type=\"hidden\" name=\"min\" value=$min>\n";
	echo "<input type=\"hidden\" name=\"max\" value=\"$max\">\n";
	echo "<input type=\"hidden\" name=\"szamlalo\" value=\"$szamlalo\">\n";
	echo "</form>";
 
}
 
?>

Könyvtár olvasása

index.php
<?php
if ($handle = opendir('.')) 
{
    while (false !== ($entry = readdir($handle))) 
    {
        if ($entry != "." && $entry != "..") 
        {
            echo "$entry\n";
        }
    }
    closedir($handle);
}
?>

Véletlen karaktersorozat generálása

function genRandStr($length = 10)
{
	return substr(str_shuffle(implode(array_merge(range(0,9), range('a','z'), range('A','Z')))), 0, $length);
}

Más domainről felhasználható adat

XMLHttpRequest cannot load http://localhost/tasks. 
No 'Access-Control-Allow-Origin' header is present 
on the requested resource. Origin 
'http://localhost:9000' is therefore not allowed access.
header('Access-Control-Allow-Origin: *');

JSON

$jsonData = json_encode($tomb);

Fájl betöltése

<textarea>

<?php
$fn = "adat.txt";
print htmlspecialchars(implode("",file($fn)));
?>

</textarea>

Heredoc és a tömb

Ha heredoc szövegben adunk meg tömbváltozókat, akkor a tömbhivatkozást kapcsos-zárójelbe kell tenni, „{ }”.

$lang = array (
    'username' => "Felhasználónév",
    'password' => "Jelszó"
);

print <<<EOT

{$lang['username']} <input type="text"><br>

{$lang['password']} <input type="password"><br>
EOT;
oktatas/programozas/php/php_mintak.txt · Utolsó módosítás: 2019/08/22 10:19 szerkesztette: admin