Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Работа с фалове: част 2
  1. Въведение
  2. Класът
  3. Класът - II
PureEvil
     
Автор  PureEvil (16.01.2006 23:23)  съобщение до автора
Погледнат  3432 пъти  добави към любими
Оценка  добави коментар
Гласове  7  изпрати на приятел
Коментари  (0)  абонирай се за PHP
    Страница 2 / 3

 



Но стига с празните приказки да мине към същността на „занятието”. Ето и началото на класът, а именно неговия конструктор:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function simpleimg($imgdir, $listname, $sep) {
$this->imgdir = $imgdir;
$this->listname = $listname;
$this->sep = $sep;
$chlist = filesize($this->listname);
$chdir = is_dir($imgdir);
if ( ($chlist <= 0) AND ($chdir !== false) ) {
$this->check = true;
$this->clist();
}
else {
$this->check = false;
}
}

Конструкторът задава стойности на атрибутите, които ще притежава всеки обект от този клас, а те са:
  • var $check; - определя дали да се създава списък или не
  • var $imgdir; - директорията в която се намират снимките
  • var $listname; - име на списъка
  • var $sep; - разделител на данните в списъка

filesize() е функция, който приема като параметър име на файл и връща големината на файла в байтове. С помощта на тази функция определяме дали списъкът с име $listname е създаден или не е. Но ако само от резултата на функцията използваме метода за създаване на списък може да се получи лек проблем, еми ако липсва директорията за снимки?. В този случай ще ни помогне функцията is_dir(), която приема името на директорията и връща резултат от тип boolean - true ако директорията съществува и false ако не съществува. Но какво би станало ако в папката няма снимки? Ами ако няма снимки каква полза от галерия?.

Методът clist() ще прочита имената на снимките от определена директория и ги записва във списък по определен начин.

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function clist() {
if ($this->check) {
$od = @opendir($this->imgdir);
$fp = @fopen($this->listname, "a");
@fwrite($fp, "снимка".$this->sep."описание");
while ( ($file = readdir($od)) !== false) {
if ( (is_file($this->imgdir."/".$file)) && strpos($file, '.jpg') ) {
@fwrite($fp, "n".$file.$this->sep);
}
}
$msg = "Файлът е създаден";
@fclose($fp);
@closedir($opendir);
}
else {
$msg = "Файлът вече е създаден и/или директорията със снимките несъщесвува.";
}

return $msg;
}

Този метод само добавя името на снимката във файла, като след него слага стрингът, който сме избрали за разделител. Коментарите към тях можете да добавите ръчно или да си направите друг метод към класът. Нека да разгледаме и непознатите функции:
  • opendir() – приема като параметър името на директорията и връща като резултат манипулатор както при функцията fopen() //виж част 1 на статията;
  • readdir() – връща следващия файл от директорията и false, когато файловете свършат. Приема като параметър манипулатора от opendir();
  • is_file() – проверява дали параметъра който приема е файл и ако е така връща true в противен случай false;

Казано по друг начин този метод отваря директорията, за която сме казали, че се съхраняват снимките, след което отваря/създава файлът-списък. Прочита всички файлове, които са тип: jpg и записва техните имена след което затваря файлът и директорията и връща резултат $msg;



 << Предишна страница Следваща страница >> 


Ключови думи: файлове работа с файлове PHP


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008