一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php 多線程上下文中安全寫文件實現代碼

復制代碼 代碼如下:
<?php
/**
* @usage: used to offer safe file write operation in multiple threads context, arbitory file type
* @author: Rocky Zhang
* @time: Nov. 11 2009
* @demo[0]: $handler = mfopen($file, 'a+');
* mfwrite($handler, $str);
*/
function mfopen($file, $mode='w+') {
$tempfile = generateTempfile('./tempdir', $file);
preg_match('/b/i', $mode) || ($mode .= 'b'); // 'b' is recommended
if (preg_match('//w|a/i', $mode) && !is_writable($file)) {
exit("{$file} is not writable!");
}
$filemtime = $filemtime2 = 0;
$tempdir = dirname($tempfile);
is_dir($tempdir) || mkdir($tempdir, 0777);
do { // do-while used to avoid modify in a long time copy
clearstatcache();
$filemtime = filemtime($file);
copy($file, $tempfile);
$filemtime2 = filemtime($file);
} while ( ($filemtime2 - $filemtime) != 0 );
if (!$handler = fopen($tempfile, $mode)) {
exit('Fail on opening tempfile, write authentication is must on temporary dir!');
}
return array(0=>$handler, 1=>$filemtime, 2=>$file, 3=>$tempfile, 4=>$mode);
}

// I do think that this function should be optimized further
function mfwrite(&$handler, $str='') {
if (strlen($str) > 0) {
$num = fwrite($handler[0], $str);
fflush($handler[0]);
}
clearstatcache();
$mtime = filemtime($handler[2]);
if ( $mtime == $handler[1] ) { // compare between source file and temporary file
if ( $num && $num > 0 ) { // temporary file has been updated, copy to source file
copy($handler[3], $handler[2]) || exit;
$handler[1] = filemtime($handler[3]);
touch($handler[2], $handler[1], $handler[1]);
}
} else { // source file has been modified, load source file to temporary file
copy($handler[2], $handler[3]) || exit;
touch($handler[3], $mtime, $mtime);
$handler[1] = $mtime;
}
}

function generateTempfile($tempdir='tempdir', $file) {
$rand = md5(microtime());
return "{$tempdir}/{$rand}_".$file;
}
?>

php技術php 多線程上下文中安全寫文件實現代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩视频在线观看一区 | 国产精品久久久久影院色老大 | 色综合色综合色综合色综合 | 91麻豆精品国产 | 色婷五月| 狠狠色狠狠色很很综合很久久 | 日韩在线视频不卡 | 久久精品综合 | 91亚洲视频在线观看 | 久久精品国产亚洲片 | 国产在线观看91精品2022 | 99爱精品视频 | 国产精品 视频一区 二区三区 | 久久不卡一区二区三区 | 中文字幕一区在线观看 | 精品一区二区三区在线视频 | 国产一区二区精品久久凹凸 | 国产精品四虎在线观看免费 | 天天色天天舔 | 狂野欧美激情性xxxx | 国产成人精品免费2021 | 91精品国产91热久久久久福利 | 91最新视频| 四虎澳门永久8848在线影院 | 精品伊人久久久久7777人 | 国产区精品福利在线观看精品 | 欧美成人三级伦在线观看 | 狠狠综合久久久综合 | 五月婷婷激情五月 | 中文字幕在线视频在线看 | 97精品在线视频 | 四虎永久精品免费观看 | 91国高清视频 | 欧美激情亚洲激情 | 美女被男人扒开下面无遮无挡 | 中文字幕国产 | 91在线视频免费观看 | 国产成人精品日本亚洲网站 | 久久伊人影视 | 一区二区三区鲁丝不卡麻豆 | 伊人高清视频 |