php:snippets
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| php:snippets [04/02/2008 18:04] – correction fermeture balise code daniel | php:snippets [05/02/2008 12:32] (Version actuelle) – rmq session cache daniel | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Bouts de scripts ====== | ====== Bouts de scripts ====== | ||
| + | |||
| + | ===== dump de var dans une chaine ===== | ||
| + | <code php> | ||
| + | /** | ||
| + | * Returns a string with the output of var_dump | ||
| + | * pique dans nusoap_base | ||
| + | * | ||
| + | * @param mixed $data The variable to var_dump | ||
| + | * @return string The output of var_dump | ||
| + | * @access public | ||
| + | */ | ||
| + | function varDump($data) { | ||
| + | ob_start(); | ||
| + | var_dump($data); | ||
| + | $ret_val = ob_get_contents(); | ||
| + | ob_end_clean(); | ||
| + | return $ret_val; | ||
| + | } | ||
| + | </ | ||
| + | |||
| ===== check & download ===== | ===== check & download ===== | ||
| Plein de bouts de codes un peu partout pour gérer les download avec check préalable, mais aucun qui gère le cache proprement, donc à partir des commentaires de la fonction header de la doc php, ça donne : | Plein de bouts de codes un peu partout pour gérer les download avec check préalable, mais aucun qui gère le cache proprement, donc à partir des commentaires de la fonction header de la doc php, ça donne : | ||
| <code php> | <code php> | ||
| + | session_cache_limiter(' | ||
| + | @session_start(); | ||
| // ici code de vérif des droits, de la validité du fichier, etc... | // ici code de vérif des droits, de la validité du fichier, etc... | ||
| + | $extension = substr($fichier, | ||
| // puis, le download à proprement parler | // puis, le download à proprement parler | ||
| if(is_file($fichier)) { // fichier existe | if(is_file($fichier)) { // fichier existe | ||
| // on gere le cache coté client | // on gere le cache coté client | ||
| | | ||
| - | if (isset($headers[' | + | if (isset($headers[' |
| // le fichier est en cache chez le client, avec la bonne date | // le fichier est en cache chez le client, avec la bonne date | ||
| - | header(' | + | header(' |
| } else { | } else { | ||
| // pas en cache ou trop vieux | // pas en cache ou trop vieux | ||
| - | header(' | + | header(' |
| - | header(' | + | header(' |
| $mime = ' | $mime = ' | ||
| if ($extension == ' | if ($extension == ' | ||
| Ligne 20: | Ligne 43: | ||
| } | } | ||
| header(" | header(" | ||
| - | readfile($url); | + | readfile($fichier); |
| } | } | ||
| } else { | } else { | ||
php/snippets.1202144668.txt.gz · Dernière modification : 04/02/2008 18:04 de daniel