getPath() public method

+---------------------------------------------------------- 取得文件路径,不包括文件名 +---------------------------------------------------------- +----------------------------------------------------------
public getPath ( ) : string
return string +----------------------------------------------------------
 function add()
 {
     if (Upload::isUploadSuccessful("my_file")) {
         $peer = new ImmaginiPeer();
         $do = $peer->new_do();
         $peer->setupByParams($do);
         $d = new Dir("/immagini/user/" . Session::get("/session/username") . Params::get("folder"));
         if (!$d->exists()) {
             $d->touch();
         }
         $do->save_folder = $d->getPath();
         $do->real_name = Upload::getRealFilename("my_file");
         $do->folder = Params::get("folder");
         $tokens = explode(".", Upload::getRealFilename("my_file"));
         $extension = $tokens[count($tokens) - 1];
         $do->hash_name = md5(uniqid()) . "." . strtolower($extension);
         Upload::saveTo("my_file", $do->save_folder, $do->hash_name);
         $peer->save($do);
         if (is_html()) {
             Flash::ok("Immagine aggiunta con successo.");
             return Redirect::success();
         } else {
             return ActiveRecordUtils::toArray($do);
         }
     } else {
         Flash::error(Upload::getUploadError("my_file"));
         return Redirect::failure();
     }
 }
 function add()
 {
     ini_set('upload_max_filesize', 8388608 * 4);
     if (Upload::isUploadSuccessful("my_file")) {
         $peer = new DocumentiPeer();
         $do = $peer->new_do();
         $peer->setupByParams($do);
         $d = new Dir("/documenti/user/" . Session::get("/session/username") . "/contenuti/");
         if (!$d->exists()) {
             $d->touch();
         }
         $do->save_folder = $d->getPath();
         $do->real_name = Upload::getRealFilename("my_file");
         $do->folder = Params::get("folder");
         $tokens = explode(".", Upload::getRealFilename("my_file"));
         $extension = $tokens[count($tokens) - 1];
         $do->hash_name = md5(uniqid()) . "." . strtolower($extension);
         Upload::saveTo("my_file", $do->save_folder, $do->hash_name);
         $peer->save($do);
         Flash::ok("Documento aggiunto con successo.");
         return Redirect::success();
     } else {
         return Redirect::failure(Upload::getUploadError("my_file"));
     }
 }
 function __saveAttachedFile($do)
 {
     if ($this->__uploadMaxFilesize() != null) {
         ini_set('upload_max_filesize', $this->__uploadMaxFilesize());
     }
     $d = new Dir($this->__saveFolderPath());
     if (!$d->exists()) {
         $d->touch();
     }
     $do->save_folder = $d->getPath();
     $do->real_name = Upload::getRealFilename("my_file");
     $tokens = explode(".", Upload::getRealFilename("my_file"));
     $extension = $tokens[count($tokens) - 1];
     $do->hash_name = md5(uniqid()) . "." . strtolower($extension);
     Upload::saveTo("my_file", $do->save_folder, $do->hash_name);
 }
 function get_rotator()
 {
     $result = array();
     $result["rotator_name"] = Params::get("name");
     $result["image_list"] = array();
     $d = new Dir(self::ROTATOR_GALLERIES_ROOT_PATH . $result["rotator_name"] . "/");
     if ($d->exists()) {
         $files = $d->listFiles();
         foreach ($files as $f) {
             if ($f->isFile()) {
                 $img = array();
                 $img["path"] = $f->getPath();
                 $img["title"] = str_replace("_", " ", $f->getName());
                 $result["image_list"][] = $img;
             }
         }
     } else {
         echo "Rotator gallery directory not found! : " . $d->getPath();
     }
     return $result;
 }
 function get_parent_folder()
 {
     $current_folder = new Dir($this->get_current_folder());
     $root_dir = new Dir($this->get_user_root());
     if ($root_dir->isParentOf($current_folder)) {
         return $current_folder->getParent()->getPath();
     } else {
         return $root_dir->getPath();
     }
 }
Example #6
0
 static function extract($f, $dir)
 {
     if ($f instanceof File) {
         $source_file = $f;
     } else {
         $source_file = new File($f);
     }
     if ($dir instanceof Dir) {
         $target_dir = $dir;
     } else {
         $target_dir = new Dir($dir);
     }
     $reader = $source_file->openReader();
     $binarydata = $reader->read(3);
     $data = unpack("a3", $binarydata);
     if ($data[1] !== self::FF_ARCHIVE_HEADER) {
         throw new InvalidDataException("Intestazione del file non valida : " . $data[1]);
     }
     $binarydata = $reader->read(2 + 2 + 2);
     $data = unpack("v3", $binarydata);
     if ($data[1] !== self::CURRENT_MAJOR || $data[2] !== self::CURRENT_MINOR || $data[3] !== self::CURRENT_REV) {
         throw new InvalidDataException("Versione del file non supportata!! : " . $data[1] . "-" . $data[2] . "-" . $data[3]);
     }
     //properties
     $binarydata = $reader->read(2);
     $data = unpack("v", $binarydata);
     $properties_length = $data[1];
     if ($properties_length > 0) {
         $binarydata = $reader->read($properties_length);
         $data = unpack("a*", $binarydata);
         $properties = PropertiesUtils::readFromString($data[1], false);
     } else {
         $properties = array();
     }
     //num entries
     $binarydata = $reader->read(2);
     $data = unpack("v", $binarydata);
     $num_entries = $data[1];
     $i = 0;
     while ($i < $num_entries) {
         //entry type
         $binarydata = $reader->read(2);
         $data = unpack("v", $binarydata);
         $entry_type = $data[1];
         //path length
         $binarydata = $reader->read(2);
         $data = unpack("v", $binarydata);
         $path_length = $data[1];
         //path
         $binarydata = $reader->read($path_length);
         $data = unpack("a*", $binarydata);
         $path = $data[1];
         if ($entry_type === self::ENTRY_TYPE_DIR) {
             $d = $target_dir->newSubdir($path);
             $d->touch();
         }
         if ($entry_type === self::ENTRY_TYPE_FILE) {
             //compressed size
             $binarydata = $reader->read(4);
             $data = unpack("V", $binarydata);
             $num_bytes = $data[1];
             //compressed data
             $compressed_file_data = $reader->read($num_bytes);
             $uncompressed_file_data = gzuncompress($compressed_file_data);
             $f = new File($target_dir->getPath() . $path);
             $writer = $f->openWriter();
             $writer->write($uncompressed_file_data);
             $writer->close();
             //sha1 sum
             $sha1_checksum = $reader->read(20);
             if (strcmp($sha1_checksum, sha1_file($f->getFullPath(), true)) !== 0) {
                 throw new InvalidDataException("La somma sha1 non corrisponde per il file : " . $f->getPath());
             }
         }
         $i++;
     }
     $reader->close();
     return true;
 }
Example #7
0
 function testGetPathRelative()
 {
     $my_included_file = new Dir("/" . FRAMEWORK_CORE_PATH . "tests/io/include_teiop/");
     $rel_path = $my_included_file->getPath(new Dir("/" . FRAMEWORK_CORE_PATH . "tests"));
     $this->assertEqual("/io/include_teiop/", $rel_path, "Il percorso relativo non viene elaborato correttamente!! : " . $rel_path);
     $rel_path = $my_included_file->getPath(new Dir("/" . FRAMEWORK_CORE_PATH . "tests/io/"));
     $this->assertEqual("/include_teiop/", $rel_path, "Il percorso relativo non viene elaborato correttamente!! : " . $rel_path);
     $this->expectException("InvalidDataException");
     $this->assertEqual("/include_teiop/", $my_included_file->getPath(new Dir("/pluto/tests/io/include_test")), "Il percorso relativo non viene elaborato correttamente!!");
 }
Example #8
0
 function testExecute()
 {
     ModuleUtils::set_modules_path(FRAMEWORK_CORE_PATH . "tests/base/fakeroot/modules/");
     $ciccia_dir = new Dir("/" . FRAMEWORK_CORE_PATH . "tests/modules/module_plug_root/ciccia/");
     $db_desc = DB::newDatabaseDescription();
     $this->assertFalse($db_desc->hasTable("my_entity"), "La tabella my_entity e' gia' presente nel database!!");
     $this->assertFalse($ciccia_dir->exists(), "La directory 'ciccia' esiste gia'!!");
     //dove innesto i moduli
     $module_plug_test_root = new Dir("/" . FRAMEWORK_CORE_PATH . "tests/modules/module_plug_root/");
     ModulePlug::setRootDir($module_plug_test_root->getPath());
     $plug = new ModulePlug(new Dir("/" . FRAMEWORK_CORE_PATH . "tests/base/fakeroot/modules/ecommerce/cart/"));
     $def = AvailableModules::get_available_module_definition("ecommerce", "cart");
     $install_data = $def->get_action_data("install");
     $plug->execute($install_data);
     $db_desc = DB::newDatabaseDescription();
     $this->assertTrue($db_desc->hasTable("my_entity"), "La tabella my_entity non e' stata creata!!");
     $sel = DB::newSelect("my_entity");
     $sel->count("*", "num_entries");
     $result = $sel->exec_fetch_assoc();
     $this->assertEqual($result["num_entries"], 2, "Il numero di righe nella tabella non corrisponde!!");
     $table_desc = DB::newTableFieldsDescription("my_entity");
     $this->assertTrue($table_desc->hasField("new_field"), "Il campo new_field non e' stato aggiunto!!");
     $this->assertTrue($table_desc->hasField("int_field"), "Il campo int_field non e' stato aggiunto!!");
     $ciccia_dir = new Dir("/" . FRAMEWORK_CORE_PATH . "tests/modules/module_plug_root/ciccia/");
     $this->assertTrue($ciccia_dir->exists(), "La directory 'ciccia' non e' stata creata!!");
     $uninstall_data = $def->get_action_data("uninstall");
     $plug->execute($uninstall_data[0]);
     $this->assertFalse($ciccia_dir->exists(), "La directory ciccia non e' stata eliminata!!");
     ModulePlug::setRootDir("/");
 }
 static function is_module_available($nome_categoria, $nome_modulo)
 {
     $d = new Dir(DS . AvailableModules::get_available_module_path($nome_categoria, $nome_modulo));
     $module_data = new File($d->getPath() . "/" . self::MODULE_DEFINITION_FILE);
     if ($d->exists()) {
         return true;
     } else {
         return false;
     }
 }
Example #10
0
 function isParentOf($folder)
 {
     if ($folder instanceof Dir) {
         $d = $folder;
     } else {
         $d = new Dir($folder);
     }
     $path_a = $this->getPath();
     $path_b = $d->getPath();
     return StringUtils::starts_with($path_b, $path_a);
 }