Php
Les variables
8 types: bool,int,float,string,tableaux,objets,ressource,null
- changer un type (cast) ou f° serttype()
tableaux
unset($arr[5]); // This removes the element from the array unset($arr); // This deletes the whole array
// Append an item (note that the new key is 5, instead of 0 as you might expect). $array[] = 6;
count (array) donne le nombre d'elements d'un tableau
passer un tableau ds une fonction -> ok
passer des elements d'un tableau: f° implode & explode - voir aussi serialize
register_globals=On URL http://xxxxxx?nom= =>$nom=$_GET['nom'];
Variables d'environnement
getenv("PATH"); putenv("$PATH=");
- attention à safe_mode_protected_env_vars qd safe_mode est activé.
/etc/php/apache2-php4/php.ini
Les structures de contrôle
if ($a > $b) { print "a est plus grand que b"; } elseif ($a == $b) { print "a est égal à b"; } else { print "a est plus petit que b"; }
for ($i = 1; $i <= 10; $i++) { echo $i; }
foreach(array_expression as $value) commandes foreach(array_expression as $key => $value) commandes $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; }
switch ($i) { case 0: echo "i égale 0"; break; case 1: echo "i égale 1"; break; case 2: echo "i égale 2"; break; }
Traitement de texte
Formater des nombres
// Notation anglaise sans séparateurs des centaines $english_format_number = number_format($number, 2, '.', ''); // 1234.57 Sinon voir sprintf substr(200504,0,4)=2005 substr(200504,4)=04
les expressions rationnelles
Ouvrir un fichier
$fd = fopen ("$dir/$file", "r"); while (!feof ($fd)) { $buffer = fgets($fd, 256); if (ereg("^([0-9]+):([0-9]+)",$buffer,$log)){$logperd[]=$log[2];}; } fclose ($fd);
Remarque: exécuter une commande externe et récupérer son retour, c'est la même chose avec popen et pclose
Les fonctions, classes & objets
function foo($arg_1, $arg_2, /* ..., */ $arg_n) { echo "Exemple de fonction.\n"; return $retval; }
Créer des graphes
graphes:
- http://www.php.net/manual/fr/ref.image.php
- gd http://www.boutell.com/gd/
- jpgraph http://www.aditus.nu/jpgraph/ (basé sur gd)
exemples:
- /usr/lib/php/jpgraph/Examples/testsuit.php - liste d'exemples
- /usr/share/doc/jpgraph-1.12.2/html/ - manuel et api
- /var/www/www.livois.com/jpgraphdocs/
un premier fichier avec une ligne du type: <img src="fig1.php" border=0 align =center width=300 height= 200>
un fichier .php
$graph = new Graph(300, 200,"auto");
The two first parameters specify the width and height of the graph the third parameter the name of the image file in the cache directory. The special name 'auto' indicates that the image file will begiven the same name as the image script but with the extension changed to indicate the graphic format used, i.e '.jpg', '.png' and so on. $gJpgBrandTiming=true ; -> affiche le temps de création de l'image.
Bases de données
interface avec bdd: adodb http://adodb.sourceforge.net/
include('/path/to/adodb.inc.php'); $DB = NewADOConnection('mysql'); $DB->Connect($server, $user, $pwd, $db)
# M'soft style data retrieval with binds $rs = $DB->Execute("select * from table where key=?",array($key)); while (!$rs->EOF) { print_r($rs->fields); $rs->MoveNext(); }
# PEAR style data retrieval $rs = $DB->Execute("select * from table where key=123"); while ($array = $rs->FetchRow()) { print_r($array); } $summary = $dbh->Execute("SELECT lognb,ftime,ltime FROM summary WHERE mid=$mid");
# Updating tables $ok = $DB->Execute("update table set col1=? where key=?",array($colval, $key));
# retrieving data shortcuts $val = $dbh->GetOne("select col from table where key='John'"); $row = $dbh->GetRow("select col from table where key='John'"); $arr = $dbh->GetAll("select col from table"); $arr = $dbh->GetAssoc("select key,col from table"); # returns associative array $key=>col