aliroFileInDB Class Reference

List of all members.

Public Member Functions

 __construct ($name)
 fromFile ($source, $delete=false)
 toFile ($destination, $delete=false)
 delete ()

Private Attributes

 $filename = ''
 $database = null


Detailed Description

Definition at line 41 of file aliroFileInDB.php.


Constructor & Destructor Documentation

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     }


Member Function Documentation

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     }


Member Data Documentation

aliroFileInDB::$filename = '' [private]

Definition at line 42 of file aliroFileInDB.php.

aliroFileInDB::$database = null [private]

Definition at line 43 of file aliroFileInDB.php.


The documentation for this class was generated from the following file:

Generated on Thu Apr 17 13:03:29 2008 for ALIRO by  doxygen 1.5.5