pixmicat

Subversion Repositories:
Compare Path: Rev
With Path: Rev
/branches/ @ 789  →  /branches/ @ 790
/branches/totalsize_fix/lib/lib_fileio.php
@@ -14,11 +14,22 @@
function _getAbsoluteURL(){
return 'http://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strpos($_SERVER['PHP_SELF'], PHP_SELF));
}
 
function getImageLocalURL($imgname){
if(!isset($this->absoluteURL)) $this->absoluteURL = $this->_getAbsoluteURL();
 
return $this->absoluteURL.(substr($imgname, -5)=='s.jpg' ? THUMB_DIR : IMG_DIR).$imgname;
}
 
/* 檢查遠端檔案是否存在 */
function remoteImageExists($img){
return (@file_get_contents($img, false, null, 0, 1) !== false);
}
 
/* 回傳目前總檔案大小 */
function getCurrentStorageSize(){
return $this->IFS->getCurrentStorageSize();
}
}
 
$FileIOEnv = array( // FileIO 環境常數
/branches/totalsize_fix/lib/fileio/fileio.satellite.php
@@ -145,7 +145,11 @@
if(!$this->parameter[4] && substr($i, -5) == 's.jpg'){
@unlink($this->thumbLocalPath.$i);
}else{
if(!$this->_deleteSatellite($i)) continue;
// 刪除出現錯誤
if(!$this->_deleteSatellite($i)){
if($this->remoteImageExists($this->parameter[3].$i)) continue; // 無法刪除,檔案存在 (保留索引)
// 無法刪除,檔案消失 (更新索引)
}
$this->IFS->delRecord($i);
}
$size += $size_perimg;
@@ -156,10 +160,12 @@
$size = $this->getImageFilesize($imgname);
if(!$this->parameter[4] && substr($imgname, -5) == 's.jpg'){
@unlink($this->thumbLocalPath.$imgname);
}else if($this->_deleteSatellite($imgname)){
}else{
if(!$this->_deleteSatellite($imgname)){
if($this->remoteImageExists($this->parameter[3].$imgname)) return 0; // 無法刪除,檔案存在 (保留索引)
// 無法刪除,檔案消失 (更新索引)
}
$this->IFS->delRecord($imgname);
}else{
return 0;
}
return $size;
}
@@ -186,9 +192,5 @@
if(!$this->parameter[4] && substr($imgname, -5) == 's.jpg') return $this->getImageLocalURL($imgname);
return $this->IFS->beRecord($imgname) ? $this->parameter[3].$imgname : false;
}
 
function getCurrentStorageSize(){
return $this->IFS->getCurrentStorageSize();
}
}
?>
/branches/totalsize_fix/lib/fileio/fileio.normal.php
@@ -46,9 +46,10 @@
$size = 0; $size_perimg = 0;
foreach($imgname as $i){
$size_perimg = $this->getImageFilesize($i);
// 刪除出現錯誤,實際上沒有刪到
// 刪除出現錯誤
if([email protected]($this->_getImagePhysicalPath($i))){
continue;
if($this->imageExists($i)) continue; // 無法刪除,檔案存在 (保留索引)
// 無法刪除,檔案消失 (更新索引)
}
$this->IFS->delRecord($i);
$size += $size_perimg;
@@ -57,7 +58,8 @@
}else{
$size = $this->getImageFilesize($imgname);
if([email protected]($this->_getImagePhysicalPath($imgname))){
return 0;
if($this->imageExists($i)) return 0; // 無法刪除,檔案存在 (保留索引)
// 無法刪除,檔案消失 (更新索引)
}
$this->IFS->delRecord($imgname);
return $size;
@@ -77,9 +79,5 @@
function getImageURL($imgname){
return $this->getImageLocalURL($imgname);
}
 
function getCurrentStorageSize(){
return $this->IFS->getCurrentStorageSize();
}
}
?>
/branches/totalsize_fix/lib/fileio/fileio.ftp.php
@@ -69,7 +69,10 @@
if(!$this->parameter[7] && substr($i, -5) == 's.jpg'){
@unlink($this->thumbLocalPath.$i);
}else{
if(!ftp_delete($this->conn, $i)) continue;
if(!ftp_delete($this->conn, $i)){
if($this->remoteImageExists($this->parameter[6].$i)) continue; // 無法刪除,檔案存在 (保留索引)
// 無法刪除,檔案消失 (更新索引)
}
$this->IFS->delRecord($i); // 自索引中刪除
}
$size += $size_perimg;
@@ -80,10 +83,12 @@
$size = $this->getImageFilesize($imgname);
if(!$this->parameter[7] && substr($imgname, -5) == 's.jpg'){
@unlink($this->thumbLocalPath.$imgname);
}else if(ftp_delete($this->conn, $imgname)){
}else{
if(!ftp_delete($this->conn, $imgname)){
if($this->remoteImageExists($this->parameter[6].$imgname)) return 0; // 無法刪除,檔案存在 (保留索引)
// 無法刪除,檔案消失 (更新索引)
}
$this->IFS->delRecord($imgname);
}else{ // 刪除錯誤
return 0;
}
return $size;
}
@@ -111,9 +116,5 @@
if(!$this->parameter[7] && substr($imgname, -5) == 's.jpg') return $this->getImageLocalURL($imgname);
return $this->IFS->beRecord($imgname) ? $this->parameter[6].$imgname : false;
}
 
function getCurrentStorageSize(){
return $this->IFS->getCurrentStorageSize();
}
}
?>
/branches/totalsize_fix/lib/fileio/fileio.imageshack.php
@@ -116,23 +116,28 @@
$size = 0; $size_perimg = 0;
foreach($imgname as $i){
$rc = $this->IFS->getRecord($i);
if($rc && $this->_deleteImageShack($rc['imgURL'])){
$size_perimg = $rc['imgSize'];
$this->IFS->delRecord($i); // 自索引中刪除
if(!$rc) continue;
$size_perimg = $rc['imgSize'];
// 刪除出現錯誤
if(!$this->_deleteImageShack($rc['imgURL'])){
if($this->remoteImageExists($rc['imgURL'])) continue; // 無法刪除,檔案存在 (保留索引)
// 無法刪除,檔案消失 (更新索引)
}
else continue; // 刪除失敗
$this->IFS->delRecord($i); // 自索引中刪除
$size += $size_perimg;
}
return $size;
}
else{
$rc = $this->IFS->getRecord($imgname);
if($rc && $this->_deleteImageShack($rc['imgURL'])){
$size = $rc['imgSize'];
$this->IFS->delRecord($imgname);
return $size;
if(!$rc) return 0;
$size = $rc['imgSize'];
if(!$this->_deleteImageShack($rc['imgURL'])){
if($this->remoteImageExists($rc['imgURL'])) return 0; // 無法刪除,檔案存在 (保留索引)
// 無法刪除,檔案消失 (更新索引)
}
return 0;
$this->IFS->delRecord($imgname);
return $size;
}
}
 
@@ -158,9 +163,5 @@
function getImageURL($imgname, $ishotlink = false){ // 是否使用熱連結直連圖檔位置 (極有可能被 Ban 網域!請慎用)
return ($rc = $this->IFS->getRecord($imgname)) ? (substr($imgname, -5)=='s.jpg' ? $rc['imgURL'] : $this->_myphpImageShack($rc['imgURL'], $ishotlink)) : false;
}
 
function getCurrentStorageSize(){
return $this->IFS->getCurrentStorageSize();
}
}
?>