Provides various official and user-released code examples. For code reference, you are welcome to learn how to modify the F method of ThinkPHP3.2.
F of ThinkPHP3.2 stores data in serialization mode, because the file name stored in F method is known.
May cause some data leakage. Therefore, modify the F method here.
Directly replace the F method of TP.
Function F ($ name, $ value = '', $ path = DATA_PATH ){
Static $ _ cache = array ();
$ Filename = $ path. $ name. '. php ';
If (''! ==$ Value ){
If (is_null ($ value )){
// Delete Cache
Return false! = Strpos ($ name ,'*')? Array_map ("unlink", glob ($ filename): unlink ($ filename );
} Else {
// Cache data
$ Dir = dirname ($ filename );
// Create if the directory does not exist
If (! Is_dir ($ dir ))
Mkdir ($ dir, 0755, true );
$ _ Cache [$ name] = $ value;
Return file_put_contents ($ filename, strip_whitespace (" "));
}
}
If (isset ($ _ cache [$ name])
Return $ _ cache [$ name];
// Obtain cache data
If (is_file ($ filename )){
$ Value = include $ filename;
$ _ Cache [$ name] = $ value;
} Else {
$ Value = false;
}
Return $ value;
}
QQ chat group: 17540504
AD: truly free, domain name + VM + enterprise mailbox = 0 RMB