<?php
/////////////////////////////////////////////////
-// $Id: dump.inc.php,v 1.21 2004/09/26 14:13:29 henoheno Exp $
+// $Id: dump.inc.php,v 1.22 2004/09/26 14:15:54 henoheno Exp $
// Originated as tarfile.inc.php by teanan / Interfair Laboratory 2004.
// [¹¹¿·ÍúÎò]
$retvalue = 0;
if ($this->status != TARLIB_STATUS_CREATE)
- return ''; // ¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤Ê¤¤
+ return ''; // File is not created
unset($files);
{
$fixsize = ceil($size / TARLIB_BLK_LEN) * TARLIB_BLK_LEN - $size;
- fwrite($this->fp, $header, TARLIB_HDR_LEN); // Header
- fwrite($this->fp, $body, $size); // Body
- fwrite($this->fp, $this->dummydata, $fixsize); // Padding
+ if ($this->arc_kind == TARLIB_KIND_TGZ) {
+ gzwrite($this->fp, $header, TARLIB_HDR_LEN); // Header
+ gzwrite($this->fp, $body, $size); // Body
+ gzwrite($this->fp, $this->dummydata, $fixsize); // Padding
+ } else {
+ flock($this->fp, LOCK_EX);
+ fwrite($this->fp, $header, TARLIB_HDR_LEN); // Header
+ fwrite($this->fp, $body, $size); // Body
+ fwrite($this->fp, $this->dummydata, $fixsize); // Padding
+ flock($this->fp, LOCK_UN);
+ }
}
////////////////////////////////////////////////////////////
{
if ($this->status == TARLIB_STATUS_CREATE)
{
- // ¥Ð¥¤¥Ê¥ê¡¼¥¼¥í¤ò1024¥Ð¥¤¥È½ÐÎÏ
- fwrite($this->fp, $this->dummydata, TARLIB_HDR_LEN);
- fwrite($this->fp, $this->dummydata, TARLIB_HDR_LEN);
-
// ¥Õ¥¡¥¤¥ë¤òÊĤ¸¤ë
if ($this->arc_kind == TARLIB_KIND_TGZ) {
+ // ¥Ð¥¤¥Ê¥ê¡¼¥¼¥í¤ò1024¥Ð¥¤¥È½ÐÎÏ
+ gzwrite($this->fp, $this->dummydata, TARLIB_HDR_LEN);
+ gzwrite($this->fp, $this->dummydata, TARLIB_HDR_LEN);
gzclose($this->fp);
} else {
- fclose($this->fp);
+ // ¥Ð¥¤¥Ê¥ê¡¼¥¼¥í¤ò1024¥Ð¥¤¥È½ÐÎÏ
+ fwrite($this->fp, $this->dummydata, TARLIB_HDR_LEN);
+ fwrite($this->fp, $this->dummydata, TARLIB_HDR_LEN);
+ fclose($this->fp);
}
}
else if ($this->status == TARLIB_STATUS_OPEN)