Witam. Bardzo proszę p o pomoc, dopiero zaczynam i nie wiem jak do tego podejść. Chodzi mi o konkretny przykład. Jest wiele stron ze skryptami ale pliss, nie odsyłajcie mnie tam, bo chodzi mi o umiejętnie łączenie i tworzenie nowych :-).
Mam klasę obsługującą grafikę, ale nie kompletną. chodzi o to by pobrać zdjęcia i pozmieniać rozmiary.
Muszą sie w niej nnaley takie metody publiczne zmieniające rozmiar , i zachowujące kształt rectange:
resize_to_width(src, width,bg=null)
resize_to_height(src, height,bg=null)
resize_to_rectangle(src,width,height)
get_icon_16(src,bg)
get_icon_32, get_icon_64 i, get_icon_86 //pobranie ikony o roznych rozmiarach kolejno 16x16 pikseli itd.
Mogą być w tym jakieś dowolne prywatne funkcje , jeśli ułatwia.
Utworzona nowa klasa "graphics" musi dziedziczyć po fs_connect.
Ma operować na folderze common w np folderze głównym ma pobierać wiele obrazków/ ikon z jakiegoś katalogu, i je ustawiać.
<?
class access_fs_connex {
private $main_folder = 'common';
public $buffer_l1 = array(); //pierwsza warstwa folderów
function __construct($path = NULL){
if($path!==NULL) $this->main_folder+='/'.$path;
$this->buffer_fs($this->buffer_l1, $this->main_folder);
}
public function refresh(){
$this->buffer_fs(&$this->buffer_l1, $this->main_folder);
}
private function buffer_fs(&$table, $path){ // VOID //buforowanie folderu $path do tablicy $table
while($file_name = $mydir->read())
{
if($file_name!="." && $file_name!=".." && is_dir($path.'/'.$file_name)) }
}
private function is_folder_exists($folder_name){ // VOID //tworzenie folderu jeśli nie istnieje
foreach ($this->buffer_l1 as $item){
if($item == $folder_name) return true;
}
return false;
}
public function init_folder($folder_name){
if(!$this->is_folder_exists($folder_name)){
@mkdir($this->main_folder.'/'.$folder_name, 0777
);
}
}
public function create_folder($sub_path, $new_folder_name){ //$main_patch bez bocznych slashy!
@mkdir($this->main_folder.'/'.$sub_path.'/'.$new_folder_name, 0777
); echo '<br>-created folder: '.$this->main_folder.'/'.$sub_path.'/'.$new_folder_name.' <br>'; }
public function create_free_folder($full_path, $new_folder_name){ //$main_patch bez bocznych slashy!
@mkdir($full_path.'/'.$new_folder_name, 0777
); //echo '<br>-created folder: '.$this->main_folder.'/'.$sub_path.'/'.$new_folder_name.' <br>';
}
public function get_path($folder_name){
return $this->main_folder.'/'.$folder_name;
}
function get_photos($sub_path = 'folder/folder'){
$mydir = dir($this->main_folder.'/'.$sub_path);
while($file_name = $mydir->read()){
if($file_name!="." && $file_name!=".." && $this->is_ok_ext($file_name, array('jpg', 'jpeg', 'JPG','JPEG'))) array_push($ans, $file_name); }
return $ans;
}
function get_photos_directly($path = 'common/folder/folder'){
while($file_name = $mydir->read()){
if($file_name!="." && $file_name!=".." && $this->is_ok_ext($file_name, array('jpg', 'jpeg', 'JPG','JPEG'))) array_push($ans, $file_name); }
return $ans;
}
function is_ok_ext($name, $ext_table){
for($i=0 ; $i<count($ext_table); $i++){
if($un[count($un)-1
]==$ext_table[$i]){ return true;
}
}
return false;
}
public function delTree($dir) {
while($file_name = $mydir->read()){
if($file_name!="." && $file_name!=".."){
}
}
}
}
public function get_kadr($sub_src, $w, $h){
return '<img src=lib_panel/engines/mKadr.php?src='.$this->get_path($sub_src).'&w='.$w.'&h='.$h.'>';
}
public function get_kadr_directly($src, $w, $h){
return '<img src=lib_panel/engines/mKadr.php?src='.$src.'&w='.$w.'&h='.$h.'>';
}
}
?>
Ten post edytował pecik 4.01.2010, 09:49:16