Public Member Functions | |
| __construct ($name) | |
| fromFile ($source, $delete=false) | |
| toFile ($destination, $delete=false) | |
| delete () | |
Private Attributes | |
| $filename = '' | |
| $database = null | |
Definition at line 41 of file aliroFileInDB.php.
| aliroFileInDB::__construct | ( | $ | name | ) |
Definition at line 45 of file aliroFileInDB.php.
References aliroDatabase::getInstance().
00045 { 00046 $this->filename = $name; 00047 $this->database = aliroDatabase::getInstance(); 00048 }
| aliroFileInDB::fromFile | ( | $ | source, | |
| $ | delete = false | |||
| ) |
Definition at line 50 of file aliroFileInDB.php.
00050 { 00051 if ($f = fopen($source,'rb')) { 00052 $this->delete(); 00053 $chunkid = 0; 00054 $sql = "INSERT INTO #__file_system (filename, chunkid, datachunk, bloblength) VALUES ($this->filename, "; 00055 while($f && !feof($f)) { 00056 $chunk = fread($f, 60000); 00057 $chunk = $this->database->getEscaped($chunk); 00058 $this->database->doSQL($sql."$chunkid, '$chunk', LENGTH(datachunk))"); 00059 $chunkid++; 00060 } 00061 fclose($f); 00062 if ($delete) @unlink($source); 00063 return true; 00064 } 00065 else return false; 00066 }
| aliroFileInDB::toFile | ( | $ | destination, | |
| $ | delete = false | |||
| ) |
Definition at line 68 of file aliroFileInDB.php.
00068 { 00069 $result = false; 00070 if (!file_exists($destination) AND $f = @fopen($destination, 'wb')) { 00071 $this->database->setQuery("SELECT chunkid FROM #__file_system WHERE filename='$this->filename' ORDER BY chunkid"); 00072 $chunks = $this->database->loadResultArray(); 00073 if ($chunks) foreach ($chunks as $chunkid) { 00074 $this->database->setQuery("SELECT datachunk FROM #__file_system WHERE filename='$this->filename' AND chunkid=$chunkid"); 00075 $datachunk = $this->database->loadResult(); 00076 if (fwrite ($f, $datachunk)) $result = true; 00077 else { 00078 $result = false; 00079 break; 00080 } 00081 } 00082 fclose($f); 00083 } 00084 if ($result AND $delete) $this->delete(); 00085 return $result; 00086 }
| aliroFileInDB::delete | ( | ) |
Definition at line 88 of file aliroFileInDB.php.
00088 { 00089 $this->database->doSQL("DELETE FROM #__file_system WHERE filename='$this->filename'"); 00090 }
aliroFileInDB::$filename = '' [private] |
Definition at line 42 of file aliroFileInDB.php.
aliroFileInDB::$database = null [private] |
Definition at line 43 of file aliroFileInDB.php.
1.5.5