php:snippets
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
php:snippets [04/02/2008 18:03] – créée 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 { | ||
Ligne 26: | Ligne 49: | ||
| | ||
} | } | ||
+ | </ |
php/snippets.1202144628.txt.gz · Dernière modification : 04/02/2008 18:03 de daniel